Posted at

PythonからMySQLへ接続する

More than 3 years have passed since last update.


はじめに

pythonからmysqlにmysql-connectorを利用して接続を試みます。


環境


  • windows7

  • MySQL5.7

  • python3.5


mysql-connectorをインストール

pipでインストールできるらしいので、pip install mysql-connector-pythonを実行

SnapCrab_NoName_2016-6-18_17-51-26_No-00.png

はい、エラー。

よくわからなかったので別のやり方で。

まずはconnectorをこちらからダウンロード

SnapCrab_NoName_2016-6-19_11-39-6_No-00.png

※Programming LanguageにPython3.5の記述がないので対象外なのかと思いましたが、接続は成功しました。

解凍したディレクトリで、python setup.py install を実行すればインストールされます。

確認はpip listで。

SnapCrab_NoName_2016-6-18_18-12-45_No-00.png

無事にインストールできた様子。


データベース、テーブル、データの準備

今回は以下のように作成します。

# データベース

create database test;

# テーブル
create table user (id char(10), name char(20));

# データ登録
insert into user values ('01', 'hoge');

では、さっそく。

SnapCrab_NoName_2016-6-18_18-15-51_No-00.png

こんな感じでさくっとできました。

問題なさそうですね。


pythonからmysqlにアクセスして情報を取得する

ついにこの時がやってきました。

涙が出そうですが、まだ早いです。

コードはこんな感じ。


db_access.py

# -*- coding: utf-8 -*-


import mysql.connector

conn = mysql.connector.connect(user='root', password='root', host='localhost', database='test')
cur = conn.cursor()

cur.execute("select * from user;")

for row in cur.fetchall():
print(row[0],row[1])

cur.close
conn.close


みじかっ。

こんなに簡単にDBアクセスして情報の取得ができるんですね。

実行した結果はこちら。

SnapCrab_NoName_2016-6-18_18-18-44_No-00.png

問題なく01hogeが取得できていますね。


最後に

connectorcursorについては全く理解できてません。。。

別の機会に調べてまとめたいと思います。