Python Insert Into Table

テーブルに挿入

MySQLのテーブルにデータを埋める場合は、「INSERT INTO」文を使用してください。

インスタンス

「customers」テーブルにレコードを挿入:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = (ジョン、ハイウェイ21)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "記録を挿入"):

インスタンスを実行

重要:注意: mydb.commit()。変更しないとテーブルに何も変更が加わりません。

複数行を挿入

テーブルに複数行を挿入するには、 executemany() メソッド。

executemany()メソッドの第二引数は、挿入するデータを含むタプルリストです:

インスタンス

データで「customers」テーブルを埋める:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  (ピーター、ローストリート4),
  (エイミー、アップルストリート652),
  (ハンナ、マウンテン21),
  (マイケル、バレイ345),
  (サンディ、オーシャンボルウェイ2),
  (ベッティ、グリーングラス1),
  (リチャード、スカイストリート331),
  (スーザン、ワンウェイ98),
  (ビキ、イエローガーデン2),
  (ベン、パークレーン38),
  (ウィリアム、セントラルストリート954),
  (チャック、メインロード989),
  (ヴィオラ、サイドウェイ1633)
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "行が挿入されました。")

インスタンスを実行

挿入された ID を取得

cursor オブジェクトを問い合わせることで、最近挿入された行の id を取得できます。

注記:複数の行を挿入した場合、最後に挿入された行の id を返します。

インスタンス

一行を挿入し、id を返します:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1レコードが挿入されました、ID:", mycursor.lastrowid)

インスタンスを実行