Python入門 MySQLに接続する


Python入門 MySQLに接続する

はじめに

不定期連載のPython入門第9回目です。
こまごまとした構文学習をすっとばして、DB接続を作成してみましょう。
第7回目にSQLite接続を行いましたが、今回はMySQLに接続します。

今回の内容:
・MySQLの準備(Linux)
・PythonからMySQLに接続してみる

MySQLでテーブル作成

接続するDBとテーブルを作成しておきましょう。今回はLinuxのMySQLを使用します。
SQLiteよりもMySQLの方が機能的に充実しているので、MySQLを使う機会も多いかと思います。

まずはデータベースを作成しましょう。データベース名は「python_db」としました。

$ mysql -u root -p
(パスワード入力)
sql> create database python_db;
sql> use python_db

次にテーブルを作成しておきましょう。

sql> create table sample(id int primary key auto_increment, name varchar(100));

SQLiteのサンプルのときと同じテーブル構成にしています。
SQLiteのSQLとは少し異なるので注意が必要ですね。
データをinsertしておきます。

sql> insert into sample values('taro','jiro','saburo');
sql> select * from sample;
1|taro
2|jiro
3|saburo

ここまでできたら次にPythonからこのテーブルに接続してみます。

PythonでMySQL接続

MySQLdbモジュールを使用します。

$ vi mysqltest.py

mysqltest.pyの中身を以下のようにします。

import MySQLdb as my

#MariaDB connect
con = my.connect(user='user', password='pass', database='python_db', use_unicode=True, charset="utf8")
cursor = con.cursor()
statement = "select * from sample"
cursor.execute(statement)
records = cursor.fetchall()
con.close()

for record in records:
    print(record[0] + record[1])

実行してみましょう。

$ python3 mysqltest.py

sampleテーブルの中身が表示されればOKです。
PythonからDB接続をして、テーブルの中身を取得できました。

まとめ

今回はPythonからMySQLに接続する方法を説明しました。SQLiteと比べてあまり違いはありませんでした。
MariaDBの場合も同じライブラリが使えるので、MariaDBの場合も同じ記述で大丈夫です。

[Unity_728×90]

Python入門シリーズ一覧

  • Python入門 pythonとは?
  • Python入門 pythonでHelloWorld
  • Python入門 pythonで文字列操作
  • Python入門 pythonで文字列操作その2
  • Python入門 pythonで日付の操作
  • Python入門 MacにPython3.5.1をインストールする手順まとめ
  • Python入門 SQLiteに接続する
  • Python入門 Getリクエスト送信(requestsを利用)
  • Python入門 MySQLに接続する
  • Python入門 Djangoを使う(その1)
  • Python入門 Djangoを使う(その2)
    • このエントリーをはてなブックマークに追加

    PAGE TOP