1. 程式人生 > 資料庫 >Python連線SQLite資料庫並進行增冊改查操作方法詳解

Python連線SQLite資料庫並進行增冊改查操作方法詳解

SQLite簡介

SQLite,是一款輕型的資料庫,是遵守ACID的關係型資料庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域專案。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源的世界著名資料庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月。 至2015年已經有15個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。

SQLite資料庫的使用

1.匯入Python SQLite資料庫模組

python2.5版本以後內建SQLite資料庫

import sqlite3

2. 建立/開啟資料庫

呼叫connect函式的時候,指定庫名稱,如果指定的資料庫存在就直接開啟這個資料庫,如果不存在就新建立一個再開啟

conn = sqlite3.connect("E:/test.db")

或者也可以在記憶體中建立

conn = sqlite3.connect(":memory:")

3.資料庫連線物件

開啟資料庫時返回的物件conn就是一個數據庫連線物件,它可以有以下操作:

commit()--事務提交   

rollback()--事務回滾   

close()--關閉一個數據庫連線   

cursor()--建立一個遊標

關於commit(),如果isolation_level隔離級別預設,那麼每次對資料庫的操作,都需要使用該命令,你也可以設定isolation_level=None,這樣就變為自動提交模式。

4.使用遊標查詢資料庫

我們需要使用遊標物件SQL語句查詢資料庫,獲得查詢物件。 通過以下方法來定義一個遊標。

cu=conn.cursor()

遊標物件有以下的操作:

execute()--執行sql語句   

executemany--執行多條sql語句   

close()--關閉遊標   

fetchone()--從結果中取一條記錄,並將遊標指向下一條記錄   

fetchmany()--從結果中取多條記錄   

fetchall()--從結果中取出所有記錄   

scroll()--遊標滾動  

SQLite資料庫操作

1. 建立資料庫表

cu.execute("create table user (id integer primary key,name varchar(20) UNIQUE,age integer,comment text NULL)")

# 建立一張user表,表中有id(主鍵),名字(唯一),年齡,備註(預設為空)

2. 插入資料

請注意避免以下寫法:

cu.execute("create table user (id integer primary key,comment text NULL)")
# 建立一張user表,表中有id(主鍵),備註(預設為空)

正確的做法如下,如果t只是單個數值,也要採用t=(n,)的形式,因為元組是不可變的。

for user in[(0,'aaa',111,'aaaa'),(1,'bbb',222,'bbbb')]:
  conn.execute("insert into user values (?,?,?)",user) # 注意user是元組,不可變
conn.commit() # 注意插入操作之後要進行提交

3. 查詢資料

cu.execute("select * from user") 
cu.fetchone() # 得到遊標的第一個值
cu.execute("select * from user")
cu.fetchall() # 使用遊標的fetch函式,fetchall得到所有的查詢記錄

4. 修改資料

cu.execute("update user set name='ccc' where id = 0")
conn.commit()

5. 刪除資料

cu.execute("delete from user where id = 1") 
conn.commit() 

更多關於Python連線SQLite資料庫並進行增冊改查操作方法請檢視下面的相關連結