درج رکورد (Insert)
اینجا «درج رکورد MySQL» را با پایتون تمرین می کنیم. «درج (Insert)» یعنی اضافه کردن سطر جدید. مثل افزودن دانش آموز تازه به فهرست کلاس. ابتدا وصل می شویم. سپس دستور INSERT را اجرا می کنیم.
درج یک رکورد با INSERT INTO
برای پرکردن جدول، از دستور INSERT INTO استفاده کن. سپس commit() را فراموش نکن.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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() استفاده کن. پارامتر دوم، فهرستِ تاپل هاست.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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.")
گرفتن شناسه درج شده (Inserted ID)
برای گرفتن «شناسه رکورد» از lastrowid کمک بگیر. این ID آخرین درج است.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="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)
گام های عملی
- اتصال بساز و به دیتابیس وصل شو.
- Cursor بگیر و کوئری آماده کن.
- مقادیر را تنظیم و اجرا کن.
- Commit بزن و نتیجه را چاپ کن.
- درصورت نیاز، lastrowid را نمایش بده.
لینک های داخلی مفید
ایجاد جدول را اول انجام بده. سپس SELECT و واکشی رکوردها را بخوان. برای رجوع سریع، آموزش درج رکورد را نشانه گذاری کن.
جمع بندی سریع
- INSERT رکورد جدید اضافه می کند.
- commit ذخیره سازی را قطعی می کند.
- executemany درج گروهی انجام می دهد.
- lastrowid شناسه آخرین درج است.