Python連接MySQL數(shù)據(jù)庫

第1章 課前準備

1-1 Python DB API介紹

  1. 背景:沒有Python DB API之前,接口程序混亂,Python應用程序(包含sql)需要對接各種數(shù)據(jù)庫;
  2. Python DB API:Python訪問數(shù)據(jù)庫的統(tǒng)一接口規(guī)范,統(tǒng)一對接各種不同的數(shù)據(jù)庫;
  3. 內容
  4. 流程


1-2 Python開發(fā)MySql環(huán)境


第2章 Python操作數(shù)據(jù)庫

2-1 Python數(shù)據(jù)庫連接對象connection

  1. 連接對象:建立python客戶端與數(shù)據(jù)庫的網絡連接;
  2. 創(chuàng)建方法:MySqldb.Connect(參數(shù)),支持如下6個參數(shù):
參數(shù)名 類型 說明
host 字符串 MySql服務器地址
port 數(shù)字 MySql服務器端口
user 字符串 用戶名
password 字符串 密碼
db 字符串 數(shù)據(jù)庫名稱
charset 字符串 連接編碼
  1. connection對象支持的方法
參數(shù)名 類型
cursor() 使用該連接創(chuàng)建并返回游標
commit() 提交當前事務
rollback() 回滾當前事務
close() 關閉連接


2-2 Python游標對象cursor

  1. 游標對象:用于執(zhí)行查詢,并獲取結果;
  2. 游標對象cursor支持的方法;
方法名 說明
execute(op [,args]) 執(zhí)行一個數(shù)據(jù)庫查詢和命令
fetchone() 獲取結果集的下一行
fetchmany(size) 獲取結果集的下幾行
fetchall() 獲取結果集剩下的所有行
rowcount() 最近一次execute返回數(shù)據(jù)的行數(shù)或影響行數(shù)
close() 關閉游標對象
  1. execute():執(zhí)行SQL命令,將結果從數(shù)據(jù)庫獲取到客戶端,過程如下
  2. fetch*():移動rownumber,返回數(shù)據(jù)。MySqldb這個插件,是使用rownumber變量實現(xiàn)數(shù)據(jù)遍歷的,類似于數(shù)組的指針,對數(shù)組的遍歷就是靠移動指針進行遍歷,下一次遍歷是根據(jù)指針的位置獲取對應的數(shù)據(jù);
  3. rowcount():是一個屬性,可以返回緩沖區(qū)中所有數(shù)據(jù)的行數(shù)。


第3章 Python增刪改查數(shù)據(jù)庫

3-1 Python之select查詢數(shù)據(jù)

  • select查詢數(shù)據(jù)的執(zhí)行流程


3-2 Python之insert/update/delete更新數(shù)據(jù)庫

  1. 更新數(shù)據(jù)庫的執(zhí)行流程


  2. 事務:訪問和更新數(shù)據(jù)庫的一個程序執(zhí)行單元,程序執(zhí)行單元即為很多execute操作的集合;
  3. 事務的特點
  • 原子性:事務中的所有操作,要么都做、要么都不做;
  • 一致性:事務必須使數(shù)據(jù)庫從一致性狀態(tài)變到另一個一致性狀態(tài);
  • 隔離性:一個事務的執(zhí)行,不能被其它事務干擾;
  • 持久性:事務一旦提交,它對數(shù)據(jù)庫的改變就是永久性的。
  1. 事務的方法
  • 關閉自動commit:設置connection.autocommit(False),MySqldb插件已經默認設置commit為自動關閉;
  • 正常結束事務:connection.commit(),使前面所有的操作正常生效;
  • 異常結束事務:connection.rollback(),使前面所有的操作回到沒有被執(zhí)行的狀態(tài),即回滾。

3-3 Python之實例:銀行轉賬

  • 執(zhí)行流程
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容