SQLite是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統。
不像常見的客戶-服務器范例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。
Python標准庫包含一個SQLite包裝器:使用模塊sqlite3實現的PySQLite。
下面是一個操作SQLite數據庫的例子:創建表、插入記錄、查詢記錄。
import sqlite3 #創建直接到數據庫文件的連接,如果文件不存在則自動創建 conn = sqlite3.connect('testdb.db') #創建一個游標向服務器發送命令及接收結果 cursor = conn.cursor() #創建表user sql = ''' create table user( id integer primary key, name text, sex text ) ''' #執行 cursor.execute(sql) #插入一條數據 sql = 'insert into user(name,sex) values("小明","男")' cursor.execute(sql) #插入多條數據 sql = 'insert into user(name,sex) values(?,?)' vals = (('小李','男'),('小紅','女')) cursor.executemany(sql,vals) #有增刪改的話需要提交 conn.commit() sql = 'select * from user' cursor.execute(sql) #游標有3個方法可以請求結果 #cursor.fetchone 獲取一行結果 #cursor.fetmany 獲取指定的任意行結果 #cursor.fetchall 獲取所有結果 for row in cursor.fetchall(): print(row) #關閉游標和連接 cursor.close() conn.close()
運行結果:
(1, '小明', '男') (2, '小李', '男') (3, '小紅', '女')