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 = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")

اجرای نمونه

مهم:لطفاً به عبارت توجه کنید 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 = [
  ('Peter', 'Lowstreet 4'),
  ('Amy', 'Apple st 652'),
  ('Hannah', 'Mountain 21'),
  ('Michael', 'Valley 345'),
  ('Sandy', 'Ocean blvd 2'),
  ('Betty', 'Green Grass 1'),
  ('Richard', 'Sky st 331'),
  ('Susan', 'One way 98'),
  ('Vicky', 'Yellow Garden 2'),
  ('Ben', 'Park Lane 38'),
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")

اجرای نمونه

دریافت 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 record inserted, ID:", mycursor.lastrowid)

اجرای نمونه