前言
本文講解在Python語言中使用MySQLdb庫操縱MySQL資料庫的方法。
準備工作
1. 安裝Python和MySQL
2. 安裝MySQLdb (exe下載地址:http://sourceforge.net/projects/mysql-python/?source=typ_redirect)
總體步驟
1. 建立一個資料庫;
2. 匯入MySQLdb庫;
3. 新建一個連線物件;
4. 基於 2 中所建立的物件新建一個遊標;
5. 初始化SQL命令字串;
6. 將 4 中建立的字串傳遞進 3 中建立的遊標內執行;
7. 從遊標內取數並展示;
8. 提交事務;
9. 關閉遊標;
10. 關閉連線物件。
注:1為MySQL互動式執行部分,其餘為Python程式碼部分。
程式碼示例
1 # -*- coding: utf-8 -*- 2 # ================================================ 3 # 作者: 方萌 4 # 建立時間: 20**/**/** 5 # 版本號: 1.0 6 # 聯絡方式: 1505033833@qq.com 7 # ================================================ 8 import MySQLdb 9 import sys 10 # 連線資料庫 11 try: 12 conn = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='testDB') 13 except Exception, e: 14 print e 15 sys.exit() 16 # 獲取cursor物件來進行操作 17 cursor = conn.cursor() 18 # 建立表 19 sql = "create table if not exists testTable(name varchar(128) primary key, age int(4))" 20 # 執行 21 cursor.execute(sql) 22 # 插入資料 23 sql = "insert into testTable(name, age) values ('%s', %d)" % ("方萌", 23) 24 # 執行 25 try: 26 cursor.execute(sql) 27 except Exception, e: 28 print e 29 sql = "insert into testTable(name, age) values ('%s', %d)" % ("張三", 21) 30 try: 31 cursor.execute(sql) 32 except Exception, e: 33 print e 34 # 插入多條資料 35 sql = "insert into testTable(name, age) values (%s, %s)" 36 val = (("李四", 24), ("王五", 25), ("洪六", 26)) 37 try: 38 cursor.executemany(sql, val) 39 except Exception, e: 40 print e 41 # 查詢出資料 42 sql = "select * from testTable" 43 cursor.execute(sql) 44 # 從遊標中取出所有資料 45 alldata = cursor.fetchall() 46 # 如果有資料返回,就迴圈輸出, alldata是由個二維的元組構成的元組。 47 if alldata: 48 for rec in alldata: 49 print rec[0], rec[1] 50 # 提交事務 51 cursor.commit() 52 53 # 關閉遊標和連線物件 54 cursor.close() 55 conn.close()
執行結果
小結
使用Python連線資料庫非常簡單方便。