很簡單:
存數據:
1、加載sqlite3驅動(只需一行代碼)
2、用驅動執行查詢語句(只需一行代碼)
取數據:
1、加載sqlite3驅動(只需一行代碼)
2、用驅動執行查詢語句(只需一行代碼)
乍一看,sqlite存取數據方式似乎都一樣,實際上,就是一樣,廢話不多說
上例子:
1、存以下內容:
s=['Alice','Joker','張三','王五']
2、先建立數據庫,再在數據庫中建一個數據表:
conn=sqlite3.connect('SqliteDatebase.db') #建立數據庫,數據庫名為'SqliteDatebase.db',且加載sqlite3驅動(若數據庫已存在,則不會創建新庫,不存在則創建該數據庫)
conn.execute('CREATE TABLE if not exists name_table(name char)') #數據庫驅動執行創建語句,創建名為'name_table'的數據表,且指定表中一列的列名為'name'(該創建語句的意思是如果'name_table'表格不存在,則創建新表,否則不創建)
3、就是這樣的表格
4、接着開始進入重頭戲:存數據
for i in s: conn.execute('insert into name_table(name) values(?)',(i,)) #這里接着上面代碼寫,所以不用重復加載sqlite3驅動conn,這里直接用,'?'是占位符,代表后面的數據'i'
沒錯,就這么簡單
5、接着開始第二重頭戲:取數據
rs=conn.execute('SELECT * FROM name_table') #用驅動conn執行查詢語句,返回結果集存在rs中 for i in rs: print(i[0]) #遍歷結果集,打印出結果
相同的簡單
6、最后,奉上運行結果:
用database打開數據庫查看:
最最后,完整代碼:
import sqlite3 s=['Alice','Joker','張三','王五'] conn=sqlite3.connect('SqliteDatebase.db') conn.execute('CREATE TABLE if not exists name_table(name char)') for i in s: conn.execute('insert into name_table(name) values(?)',(i,)) rs=conn.execute('SELECT * FROM name_table') for i in rs: print(i[0]) conn.commit() #提交請求,否則數據庫的變動不會執行 conn.close() #關閉數據庫