第一篇:操縱MySQL資料庫(1) - 基於MySQLdb庫

穆晨發表於2017-05-20

前言

       本文講解在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連線資料庫非常簡單方便。

相關文章