1. 查看數(shù)據(jù)
查看表中的數(shù)據(jù)使select語句,它的語法格式為:
cursor = con.execute("select 字段1,字段2...(id,name...). from 表名(user) where 查詢條件")
我們在查詢數(shù)據(jù)的時候可以通過多種方式:
1) 使用fetchone()方法來查詢結果中的下一條信息。
2) 使用fetchmany(size)方法來獲取size數(shù)量的記錄。
3) 使用fetchall()方法來查看所有記錄。
代碼如下:
import sqlite3 con = sqlite3.connect('test.db') cursor = con.cursor() cursor.execute('select * from user') print('第一種方式:') print(cursor.fetchone()) print(cursor.fetchone()) print(cursor.fetchone()) print('第二種方式:') print(cursor.fetchmany(2)) print('第三種方式:') print(cursor.fetchall()) cursor.close() con.commit() con.close()
注意使用每一種方式的時候把其它兩種方式刪除掉,輸出結果為:
第一種方式: (1001, '李華', 21) (1002, '小明', 20) (1003, '小張', 21) 第二種方式: [(1001, '李華', 21), (1002, '小明', 20)] 第三種方式:[(1001, '李華', 21), (1002, '小明', 20), (1003, '小張', 21)]
第一種方式是依次查詢,第二種方式指定了查詢數(shù)量為2,第三種方式為全部查詢。
下面我們再介紹一種方式:
import sqlite3 con = sqlite3.connect('test.db') cursor = con.cursor() cursor.execute('select * from user') for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2]) cursor.close() con.commit() con.close()
輸出結果為:
id = 1001 name = 李華 age = 21 id = 1002 name = 小明 age = 20 id = 1003 name = 小張 age = 21
這種方式我們可以通過索引獲得每個元素對應的值。
2. 修改數(shù)據(jù)
修改數(shù)據(jù)使用update方法,語法格式為:
con.execute("update 表名(user) set 字段名(age) = 字段值(21) where 查詢條件(id=1002)")
我們通過下面代碼來看一下:
import sqlite3 con = sqlite3.connect('test.db') cursor = con.cursor() cursor.execute('select * from user') for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2]) cursor.close() con.commit() con.close()
輸出結果為:
id = 1001 name = 李華 age = 21 id = 1002 name = 小明 age = 20 id = 1003 name = 小張 age = 21
我們可以通過輸出結果看出數(shù)據(jù)已經(jīng)被修改。
3. 刪除數(shù)據(jù)
刪除數(shù)據(jù)的方式為:
con.execute("delete from 表名(user) where 條件(id = 1002)")
我們通過代碼看一下:
import sqlite3 con = sqlite3.connect('test.db') cursor = con.cursor() con.execute("delete from user where id = 1002;") cursor.execute('select * from user') for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2]) cursor.close() con.commit() con.close()
輸出結果為:
id = 1001 name = 李華 age = 21 id = 1003 name = 小張 age = 21
可以看出id為1002的數(shù)據(jù)已經(jīng)被刪除。
4. 總結
通過這兩節(jié)的學習,我們來回顧一下操作流程:
1) 首先要連接到數(shù)據(jù)庫文件。
2) 然后創(chuàng)建一個游標來進行相關操作。
3) 如果是增加數(shù)據(jù)一定要注意主鍵的唯一性,不能插入相同的主鍵信息。
4) 如果是刪除數(shù)據(jù)時,在選擇條件的時候,會刪除滿足條件的所有項。
5) 查看數(shù)據(jù)的時候有多種方式可選擇。
6) 關閉游標。
7) 提交事務。
8) 關閉連接。
大家在使用的過程中通過這個順序能夠保證我們程序的正確性。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:
一點編程也不會寫的:零基礎C語言學練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學奧賽或C++選手的 必學C++課程
藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導課程