SQLite是一款輕型的資料庫,是遵守ACID的關係型資料庫管理系統。 不像常見的客戶-伺服器範例,SQLite引擎不是個程式與之通信的獨立進程,而是連接到程式中成為它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。 Python標準庫包含一個SQLite包裝器:使用模塊sql... ...
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, '小紅', '女')