
あきぞらです。
今回は、PythonのコードからMySQLのデータベースにデータを挿入する方法を紹介していきます。
目次
PythonからMysqlに接続するためのライブラリをインストールする
PythonからMySQLに接続するためのライブラリをpipでインストールします。
$ pip install mysqlclient
これでMySQLのライブラリがインストールできました。
テーブルにデータをINSERTする処理を書く
データベースに接続し、テーブルにデータを挿入する処理を記載してみます。
import MySQLdb
conn = MySQLdb.connect(
user = MYAPP_USER,
passwd = MYAPP_PASS,
host = MYAPP_HOST,
port = MYAPP_PORT,
db = MYAPP_DATABASE,
charset = 'utf8',
)
cursor = conn.cursor()
data = { 'category': 'IT・サイエンス' , 'title' : 'SOFT SKILLS' }
insert_sql = "INSERT INTO books ( category, title ) VALUES ( %s, %s )"
cursor.execute(
insert_sql,
(
data['category'],
data['title'],
)
)
conn.commit()
このコードは、「books」というテーブルの「category」と「title」というカラムにデータをインサートしています。
少し詳しく説明します。
DBの接続情報を記載する
このコードでデータベースに接続します。
conn = MySQLdb.connect(
user = MYAPP_USER,
passwd = MYAPP_PASS,
host = MYAPP_HOST,
port = MYAPP_PORT,
db = MYAPP_DATABASE,
charset = 'utf8',
)
ここは、実際の環境に合わせて記載していきます。
MYAPP_USER等の部分はご自身の環境に合わせて記載してください。
| user | MySQLデータベースのユーザ |
| passwd | MySQLデータベースのユーザのパスワード |
| host | MySQLデータベースのホスト |
| port | MySQLデータベースのポート番号 |
| db | MySQLデータベースのデータベース名 |
カーソルを呼び出し、INSERTのSQLを実行する
cursor = conn.cursor()の部分で、SQLの操作を行うために必要なcursorというものを呼び出します。
cursor.execute()でSQLを実行します。
DBの更新をしたら最後にコミットを忘れない
DBを変更したときは必ずコミットの操作(conn.commit())をいれます。
これを忘れてしまうとデータベースに反映されません。
まとめ
PythonからMySQLを操作する処理を紹介しました。
これでDB操作をするスクリプトもガンガン組めます!