Python MySQL executemany関数で複数件数を挿入するサンプル
環境
Python3.9.7
Windows 11 Pro
操作方法
1.ライブラリmysql-connector-pythonインストール
pip install mysql-connector-python
2.テーブルを作成する
CREATE TABLE `usertbl` ( `uid` int NOT NULL AUTO_INCREMENT, `name` varchar(20) COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
3.executemany関数を使って複数件を挿入します。
import mysql.connector # 接続情報を記述 conn = mysql.connector.connect( host="localhost", port="3306", user="root", password="pwd12345" ) # 接続状況確認 if conn.is_connected(): try: # 再接続 conn.ping(reconnect=True) # autocommit禁止 conn.autocommit = False # カーソル作成 cr = conn.cursor() # DB選択 cr.execute("use cft;") # クエリを作成 sql = (""" INSERT INTO foo (name) VALUES (%s) """) data = [ ('tokyo',), ('oosaka',), ('fukuoka',) ] # insertを実行 cr.executemany(sql, data) # コミットする conn.commit() # 実行結果 print(f"{cr.rowcount} 件追加しました。") except mysql.connector.Error as e: # ロールバック conn.rollback() print(e) finally: # クローズ cr.close() conn.close() else: exit()