1. a_t_a

    Posted

    a_t_a
Changes in title
+PythonからMySQLへ接続する
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,85 @@
+# はじめに
+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](https://qiita-image-store.s3.amazonaws.com/0/129708/633b368b-d4ac-a1c6-6320-d778562ba9e3.png)
+
+はい、エラー。
+よくわからなかったので別のやり方で。
+
+
+まずはconnectorを[こちら](https://pypi.python.org/pypi/mysql-connector-python/2.0.4)からダウンロード
+![SnapCrab_NoName_2016-6-19_11-39-6_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/129708/5d84ea2b-3442-a5cf-7833-14c29688d2c8.png)
+<Font color="red">※Programming LanguageにPython3.5の記述がないので対象外なのかと思いましたが、接続は成功しました。</font>
+
+解凍したディレクトリで、`python setup.py install` を実行すればインストールされます。
+
+確認は`pip list`で。
+![SnapCrab_NoName_2016-6-18_18-12-45_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/129708/0b2904d1-d7b2-6c00-9a04-85b3a915586e.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](https://qiita-image-store.s3.amazonaws.com/0/129708/c09b1f84-56d4-e561-40e7-3c31d4c03998.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](https://qiita-image-store.s3.amazonaws.com/0/129708/25ff275c-ada7-4317-e749-2a9178454b1b.png)
+
+問題なく`01`と`hoge`が取得できていますね。
+
+## 最後に
+`connector`、`cursor`については全く理解できてません。。。
+別の機会に調べてまとめたいと思います。