pymysqlmysql
### pymysql安裝sql
>sudo pip3 install pymysql數據庫
### pymysql使用流程函數
1. 創建數據庫鏈接(db = pymysql.connect(...))
2. 建立遊標對象(cur = db.cursor())
3. 遊標方法: cur.execute("insert ....")
4. 提交到數據庫或者獲取數據 : db.commit()/db.fetchall()
5. 關閉遊標對象 :cur.close()
6. 斷開數據庫鏈接 :db.close()fetch
### 經常使用函數編碼
***參考代碼 day16/mysql.py***
***參考代碼 day16/read_db.py***
***參考代碼 day16/write_db.py***對象
>db = pymysql.connect(參數列表)
>>host :主機地址,本地 localhost
>>port :端口號,默認3306
>>user :用戶名
>>password :密碼
>>database :庫
>>charset :編碼方式,推薦使用 utf8ip
> 數據庫鏈接對象(db)的方法it
>> cur = db.cursor() 返回遊標對象,用於執行具體SQL命令pip
sql='select....%s.%s' #sql語句命令 str
cur.execute(sql命令,[%s,%s]) 單次執行SQL命令 參數是sql語句佔位符變量
cur.executemany(sql命令,[iterable1,iterable2,iterable3])屢次執行SQL命令 根據數據列表內元素(可迭代對象,包含佔位符變量內容)次數
好比:
sql='delete from class where name=%s and age=%s'
cur.executemany(sql,[['chen',25],['lu',24]]) #執行兩次 第一次刪除'chen',25記錄,第二次刪除'lu',24記錄
修改表:出錯回滾至修改前
try:
cur.execute()
>> db.commit() 提交到數據庫執行
except:
>> db.rollback() 回滾,用於當commit()出錯是回覆到原來的數據形態
>> db.close() 關閉鏈接
>>
>>cur.fetchone() 獲取查詢結果集的第一條數據,查找到返回一個元組不然返回None
>>cur.fetchmany(n) 獲取前n條查找到的記錄,返回結果爲元組嵌套元組, ((記錄1),(記錄2))。
>>cur.fetchall() 獲取全部查找到的記錄,返回結果形式同上。
>>cur.close() 關閉遊標對象
import pymysql
db = pymysql.connect( host='', port=None, user='', password='', database='', charset='')cur = db.cursor()sql = ''cur.execute(sql)cur.fetchone()cur.fetchmany(2)cur.fetchall()db.commit()db.rollback()cur.close()db.close()