วิธี commit() เป็นหนึ่งในวิธีการต่างๆ ใน Python ที่ใช้ในการทำธุรกรรมฐานข้อมูล
ในที่นี้เราจะพูดถึงเมธอด commit() วิธี commit() ใช้เพื่อยืนยันการเปลี่ยนแปลงที่ทำโดยผู้ใช้กับฐานข้อมูล เมื่อใดก็ตามที่มีการเปลี่ยนแปลงใด ๆ กับฐานข้อมูลโดยใช้การอัพเดทหรือคำสั่งอื่น ๆ จำเป็นต้องยอมรับการเปลี่ยนแปลง ถ้าเราไม่ใช้เมธอด commit() หลังจากทำการเปลี่ยนแปลงใดๆ กับฐานข้อมูล ฐานข้อมูลจะไม่ได้รับการอัปเดตและการเปลี่ยนแปลงจะไม่มีผล
ไวยากรณ์
db.commit()
db หมายถึงอ็อบเจ็กต์การเชื่อมต่อฐานข้อมูล
ด้านล่างนี้คือตัวอย่างการอัพเดทค่าในตารางและคอมมิตการเปลี่ยนแปลงกับฐานข้อมูล
ขั้นตอนที่เกี่ยวข้องกับการอัปเดตข้อมูลและคอมมิตการเปลี่ยนแปลงที่ทำในตารางโดยใช้ MySQL ใน python
-
นำเข้าตัวเชื่อมต่อ MySQL
-
สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()
-
สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()
-
สร้างแบบสอบถามโดยใช้คำสั่ง mysql ที่เหมาะสม
-
เรียกใช้คำสั่ง SQL โดยใช้เมธอด execute()
-
คอมมิตการเปลี่ยนแปลงที่ทำโดยใช้วิธี commit()
-
ปิดการเชื่อมต่อ
สมมติว่าเรามีตารางชื่อ “นักเรียน” ดังนี้ −
<ก่อนหน้า>+----------+---------+-----------+-----------+ | ชื่อ | คลาส | เมือง | เครื่องหมาย |+----------+---------+-----------+-----------+| การัน | 4 | อมฤตสาร์ | 95 || ซาฮิล | 6 | อมฤตสาร์ | 93 || กฤติ | 3 | Batala | 88 || คูชิ | 9 | เดลี | 90 || กีรติ | 5 | เดลี | 85 |+----------+---------+-----------+-----------+ตัวอย่าง
สมมติว่าเรามีตารางนักเรียนด้านบนแล้วและต้องการอัปเดตเมือง Kriti จาก Batala เป็น Kolkata และทำการเปลี่ยนแปลงฐานข้อมูล
นำเข้า mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" อัปเดตนักเรียน SET City='Kolkata' WHERE Name='Kriti'"cursor.execute(query)db.commit()query="SELECT * FROM Students"cursor.execute(query)สำหรับแถวในเคอร์เซอร์:print(row)db .close()
รหัสด้านบนจะอัปเดตชื่อเมืองของ Kriti และทำการเปลี่ยนแปลงนี้กับฐานข้อมูล
ผลลัพธ์
('Karan', 4 ,'Amritsar' , 95)('Sahil' , 6 , 'Amritsar' ,93)('Kriti' , 3 , 'Kolkata' ,88)('Amit' , 9 , ' เดลี' , 90)('ปรียา' , 5 , 'เดลี' ,85)
หมายเหตุ
db.commit() ในรหัสข้างต้นมีความสำคัญ มันถูกใช้เพื่อคอมมิตการเปลี่ยนแปลงที่ทำกับตาราง โดยไม่ต้องใช้คอมมิต () จะไม่มีการเปลี่ยนแปลงในตาราง