python上的数据库sqlite3——插入多行数据
生活随笔
收集整理的這篇文章主要介紹了
python上的数据库sqlite3——插入多行数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學校課程上的一個知識點,一個簡單的課后習題:一勞永逸實現多行數據的插入(應該是這個意思,老師也沒講清楚)。直接上代碼了沒啥好講的,我感覺這個思路好撈。
1 import sqlite3
2 con = sqlite3.connect('E:/python36/pytrade/sqlite3/first.db')
3 cur = con.cursor() #創建游標對象
4 cur.execute("create table Student(SNO char(10) UNIQUE primary key,Sname char(20),Ssex char(2),Sage SMALLINT,Sdept char(20));")#上一行引號內為SQL語句,語句末分號可有可無
5
6
7 '''
8 #數據插入方法一,VALUES法
9 data = "170141000,'張三','男',20,'GIS'"
10 cur.execute('INSERT INTO Student VALUES (%s)'%data)
11 '''
12 '''數據插入方法二,問號法
13 cur.execute('INSERT INTO Student VALUES(?,?,?,?,?)',(170141000,'亮','男',21,'滋麻開花'))#execute執行
14 con.commit()#commit提交
15 '''
16 '''數據插入方法三(values法,和一類似,指定字段)
17 cur.execute("INSERT INTO Student (SNO,Sname,Sage,Sdept) values(170151000,'豪',20,'GIS'),(170151999,'喜羊羊',9,'GIS');")
18 con.commit()
19 '''
20
21
22 #在這里,“需要插入的數據”默認以獨立的str形式(在列表中)存儲。利用列表下標的索引方式一一加入到execute中去。
23 data_ToBeInserted = ["170140009,'凡','男',20,'人文'","170140000,'翔','男',20,'GIS'","170140001,'豪','男',20,'GIS'","170140002,'飛','男',20,'人文'","170100001,'亮','男',27,'海棠二樓'"]
24 sql_insert = "INSERT INTO Student VALUES" #SQL語句一
25 sql_values = "" #SQL語句二
26 for i in range(0,len(data_ToBeInserted)): #列表下標索引,一一提取一行數據
27 sql_values += '(' #增加execute語句所需的左括號
28 sql_values += data_ToBeInserted[i] #插入數據
29 sql_values += '),' #右括號
30 sql_values = sql_values.strip(',') #去除最后一行數據的逗號,也可replace為分號
31 sql_todo = sql_insert + sql_values #兩個SQL分語句合并
32
33
34 #插入動作的執行。若要改變“需要插入的數據”,直接改存儲數據的列表即可。
35 cur.execute(sql_todo)
36 con.commit()
37
38
39
40 cur.execute('SELECT * FROM Student')
41 res = cur.fetchall()
42 for row in res:
43 #print(row[1],type(row[1]))
44 print(row)#查看當前表情況
加個成果圖↓
總結
以上是生活随笔為你收集整理的python上的数据库sqlite3——插入多行数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 向量体系结构(2)----SIMD指令集
- 下一篇: impala 下的SQL时间函数