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の場合も同じ記述で大丈夫です。