LoginSignup
55
61

More than 5 years have passed since last update.

PythonからMySQLへ接続する

Posted at

はじめに

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については全く理解できてません。。。
別の機会に調べてまとめたいと思います。

55
61
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
61