2014年5月3日 星期六

Python3 連結MySQL(MariaDB, Pernona)

Version info:
Python: 3.4.0
MySQL: 5.5.37
OS: Ubuntu Linux 14.04

首先,下載並安裝Python3-mysql.connector套件。

sudo apt-get install python3-mysql.connector
範例程式:

import mysql.connector
#輸入DB的使用者名稱,使用者密碼,主機名稱與DB名稱。
cnx = mysql.connector.connect(user='user_name', password='user_password', host='localhost',database='db_name')
cursor = cnx.cursor()
#設定編碼。
cursor.execute('set names utf8')

query = "SELECT * from a_table"
cursor.execute(query)
#抓取資料。
data = cursor.fetchall()
#完成,回傳一個tuple型態的資料。
print(data)
#下面的程式片段是要讓程式回傳一個list,其中每一筆資料使用dict格式,也就是key-vaule的形式,像是:result[0]['abc']表示第一筆且column名稱為「abc」的資料。
column_name = cursor.column_names
result = list()
temp = dict()

for i in range(len(data)):
    for j in range(len(column_name)):
        temp[column_name[j]] = data[i][j]
    result.append(temp)
    temp = dict()
print(result)

#關閉與資料庫的連結
cnx.close()


2015/09/27
PyMySQL用法也跟mysql.connector一樣。
參考資料:
How to connect Python programs to MariaDB