8.1 使用Python操作SQLite數據庫


  SQLite是內嵌在Python中的輕量級、基於磁盤文件袋額數據庫管理系統,不需要安裝和配置服務,支持使用SQL語句來訪問數據庫。該數據庫使用C語言開發,支持大多數SQL91標准,支持原子的、一致的、獨立的和持久的事務,不支持外鍵限制;通過數據庫級的獨占性和共享性鎖定來實現獨立事務,當多個線程同時訪問同一個數據庫並試圖寫入數據時,每一時刻只有一個線程可以寫入數據。

  SQLite支持最大140TB大小的單個數據庫,每個數據庫完全存儲在單個磁盤文件中,以B+樹數據結構的形式存儲,一個數據庫就是一個文件,通過直接復制數據庫文件就可以實現數據庫的備份。如果需要使用可視化管理工具,可以下載並使用SQLiteManager、SQLite Database Browser 或其他類似工具。

  訪問和操作SQLite數據時,首先導入sqlite3模塊,然后創建一個與數據庫關聯的Connection對象,例如:

 1 import sqlite3   #導入模塊
 2 
 3 #conn = sqlite3.connect('example.db') #連接數據庫
 4 # connect()方法,可以判斷一個數據庫文件是否存在,如果不存在就自動創建一個,如果存在的話,就打開那個數據庫。
 5 
 6 #再創建一個Cusor對象,並且調用Cursor對象的execute()方法來執行SQL語句創建數據表以及查詢、插入、修改或刪除數據庫中的數據,例如:
 7 #c = conn.cursor()
 8 
 9 #創建表
10 #c.execute('''CREATE TABLE stocks(date text,trans text,symbol text,gty real,price real)''')
11 
12 #向表中插入一條數據
13 #c.execute('''insert into stocks values('2016-01-05','BUY','RHAT',100,35.14)''')
14 
15 #提交當前事務,保存數據
16 #conn.commit()
17 
18 #關閉數據庫連接
19 #conn.close()
20 
21 
22 
23 #查詢剛才插入的數據
24 #由於剛才已經關閉了數據庫連接,需要重新創建Connection對象和Cursor對象
25 conn = sqlite3.connect('example.db') 26 c = conn.execute('''select * from stocks''') 27 print(c)   #<sqlite3.Cursor object at 0x00000000007E25E0>
28 
29 print(list(c))   #[('2016-01-05', 'BUY', 'RHAT', 100.0, 35.14)]
30 
31 #數據成功提取出來了

 

  還可以用如下方法查詢數據:

1 conn = sqlite3.connect('example.db') 2 c = conn.cursor() 3 a = c.execute('select * from stocks') 4 print(c)   #<sqlite3.Cursor object at 0x00000000007E25E0>
5 
6 for i in a: 7     print(i)    #('2016-01-05', 'BUY', 'RHAT', 100.0, 35.14)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM