1. 程式人生 > >python中sqlite3對資料庫的增刪改查

python中sqlite3對資料庫的增刪改查

1、python API的介紹

(1)connection --- 資料庫連線物件

連線物件:建立python客戶端與資料庫的網路連線 建立方法:sqlite3.connect(引數)

(2)cursor --- 遊標物件

2、增刪改查的流程

select語句

insert/upgrade/delete語句

3、舉例介紹

下面建立一個關係型資料庫,為一個書店儲存書的分類和價格。資料庫中包含兩個表:category用於記錄分類,book用於記錄某個書的資訊。一本書歸屬於某一個分類,因此book有一個外來鍵(foreign key),指向catogory表的主鍵id。

建立資料庫:

第一步,建立資料庫及資料庫的表,在使用connect()連線資料庫後,就可以通過定位指標cursor

SQLite的資料庫是一個磁碟上的檔案,如上面的test.db,因此整個資料庫可以方便的移動或複製。test.db一開始不存在,所以SQLite將自動建立一個新檔案。

利用execute()命令,執行兩個SQL命令,建立資料庫中的兩個表。建立完成後,儲存並斷開資料庫連線

插入資料insert:

上面建立了資料庫和表,確立了資料庫的抽象結構。下面將在同一資料庫中插入資料:

插入資料同樣可以使用execute()來執行完整的SQL語句。SQL語句中的引數,使用"?"作為替代符號,並在後面的引數中給出具體值。這裡不能用Python的格式化字串,如"%s",因為這一用法容易受到SQL注入攻擊。

也可以用executemany()的方法來執行多次插入,增加多個記錄。每個記錄是表中的一個元素,如上面的books表中的元素。

查詢資料select


在執行查詢語句後,Python將返回一個迴圈器,包含有查詢獲得的多個記錄。可以迴圈讀取,也可以使用sqlite3提供的fetchone()和fetchall()方法讀取記錄:

更新與刪除update/delete

可以更新某個記錄,或者刪除記錄:


也可以直接刪除整張表:c.execute('DROP TABLE book')

4、增刪改查及異常處理

5、事務  ---- 保證一組操作要麼同時執行,要麼都不執行

6、銀行轉賬例項