MySQLドライバである「mysql-connector-python」を利用して、MySQLと接続します。
開発環境
Mac(OS X EL Captin/10.11.3)
※ターミナルにて
$ python –version
Python 3.5.1 :: Anaconda 2.5.0 (x86_64)
まず「mysql-connector-python」をインストールします。Anacondaディストリビューションを利用しcondaでパッケージ管理をしているので、以下のコマンドでインストールします。
1 |
conda install -c https://conda.anaconda.org/anaconda mysql-connector-python |
インストール完了。
1 2 3 4 5 |
conda list 略〜 mysql-connector-python 2.0.3 py35_0 anaconda 〜 |
接続するMySQLのデータベースは以下の関連ページをご参照下さい。
MySQLにつないでテーブルデータを表示させる[SELECT][PDO]
「sample01」データベースを生成したら、nameテーブルを作成し、適当な名前を入力しています。
1 2 3 4 5 6 7 8 9 10 |
CREATE DATABASE sample01; USE sample01; CREATE TABLE name ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name TEXT NOT NULL )DEFAULT CHARACTER SET=utf8; INSERT INTO name (name) VALUES ("太郎"),("花子"),("ウェブの葉"); |
nameテーブルからidとnameを抽出したコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#coding:utf-8 import mysql.connector def mysql_test(): try: connect = mysql.connector.connect( user='root', password='tadahiko', host = '127.0.0.1', database='sample01', charset='utf8' ) cursor = connect.cursor() cursor.execute('SELECT * FROM name') rows = cursor.fetchall() for row in rows: print("%d:%s" % (row[0], row[1])) except mysql.connector.Error as error: print ("エラー",error) finally: cursor.close() connect.close() if __name__ == "__main__": mysql_test() |
結果
1 2 3 |
1:太郎 2:花子 3:ウェブの葉 |