8.1.1 Connection 對象
阿新 • • 發佈:2018-04-27
連接 保存 md5 def lec execute lose spa 定義函數
Connect是sqllite3模塊中最基本的也是最重要的一個類,其主要方法如下表所示:
方法 | 說明 |
execute(sql[,parameters]) | 執行一條SQL語句 |
executemany(sql[,parameters]) | 執行多條SQL語句 |
cursor() | 返回連接的遊標 |
commit() | 提交當前事務,如果不提交,那麽自上次調用commit()方法之後的所有修改都不會真正保存到數據庫中 |
rollback() | 撤銷當前事務,將數據庫恢復至上次調用commit()方法後的狀態 |
close() | 關閉數據庫連接 |
create_function(name,num_params,func) |
創建可在SQL語句中調用的函數,其中name為函數名,num_params表示該函數可以接收的參數個數,func表示Python可調用的對象 |
Connection對象的其它幾個函數都比較容易理解,下面的代碼演示了如何在aqlite3連接中創建並調用自定義函數:
1 import sqlite3
2 import hashlib
3
4 #自定義函數
5 def md5sum(t):
6 return hashlib.md5(t).hexdigest()
7
8 #在內存中創建臨時數據庫
9 conn = sqlite3.connect(":memory: ")
10
11 #創建可在SQL語句中調用的函數
12 conn.create_function(‘md5‘,1,md5sum) #這個md5是在SQL中的函數名
13
14 cur = conn.cursor()
15 cur.execute(‘select md5(?)‘,[‘中國山東煙臺‘.encode()])
16
17 print(cur.fetchone()[0])
18
19
20 #a23f2beccddbc6c224398b15b760d25d
8.1.1 Connection 對象