PythonでMySQLにデータをINSERTするサンプル

環境
Python 3.9.13
Windows 11 Pro 21H2 64bit
MySQL 8.0.30

1.ライブラリmysql-connector-pythonをインストールします
pip install mysql-connector-python

2.テーブル「usertbl」を作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE TABLE `usertbl` (
`userid` int NOT NULL AUTO_INCREMENT,
`addr` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
`uname` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
CREATE TABLE `usertbl` ( `userid` int NOT NULL AUTO_INCREMENT, `addr` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, `uname` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
CREATE TABLE `usertbl` (
  `userid` int NOT NULL AUTO_INCREMENT,
  `addr` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `uname` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

説明
列名userid
AUTO_INCREMENT データを追加した時にカラムに対して現在格納されている最大の数値に1 を追加します。
PRIMARY KEY プライマリーキー(主キー)

3.使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import mysql.connector
# 接続情報を設定
conn = mysql.connector.connect(
host="localhost", port="3306", user="root", password="#123456@"
)
# 接続状況確認
if conn.is_connected():
try:
# 再接続
conn.ping(reconnect=True)
# 自動コミット禁止
conn.autocommit = False
# カーソル作成
cr = conn.cursor()
# データベースを選択
cr.execute("use arkgamedb;")
# insert構文を実行
cr.execute("INSERT INTO usertbl (addr,uname) VALUES ('tokyo','user01')")
# コミット
conn.commit()
except mysql.connector.Error as e:
# データベースのロールバック
conn.rollback()
print(e)
finally:
# データベースのクローズ
cr.close()
conn.close()
else:
exit()
import mysql.connector # 接続情報を設定 conn = mysql.connector.connect( host="localhost", port="3306", user="root", password="#123456@" ) # 接続状況確認 if conn.is_connected(): try: # 再接続 conn.ping(reconnect=True) # 自動コミット禁止 conn.autocommit = False # カーソル作成 cr = conn.cursor() # データベースを選択 cr.execute("use arkgamedb;") # insert構文を実行 cr.execute("INSERT INTO usertbl (addr,uname) VALUES ('tokyo','user01')") # コミット conn.commit() except mysql.connector.Error as e: # データベースのロールバック conn.rollback() print(e) finally: # データベースのクローズ cr.close() conn.close() else: exit()
import mysql.connector

# 接続情報を設定
conn = mysql.connector.connect(
    host="localhost", port="3306", user="root", password="#123456@"
)

# 接続状況確認
if conn.is_connected():
    try:
        # 再接続
        conn.ping(reconnect=True)
        
        # 自動コミット禁止
        conn.autocommit = False

        # カーソル作成
        cr = conn.cursor()

        # データベースを選択
        cr.execute("use arkgamedb;")

        # insert構文を実行
        cr.execute("INSERT INTO usertbl (addr,uname) VALUES ('tokyo','user01')")        
        
        # コミット
        conn.commit()
        
    except mysql.connector.Error as e:
        # データベースのロールバック
        conn.rollback()
        print(e)
        
    finally:
        # データベースのクローズ
        cr.close()
        conn.close()
else:

    exit()

 

Python

Posted by arkgame