Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Performing Database Transactions ใน Python - ธุรกรรมฐานข้อมูล

Transactions เป็นกลไกที่รับประกันความสอดคล้องของข้อมูล (data consistency) ธุรกรรมมีคุณสมบัติ 4 ข้อ (ACID):

  • Atomicity - ธุรกรรมทำสำเร็จหรือไม่เกิดอะไรขึ้นเลย
  • Consistency - ธุรกรรมต้องเริ่มในสถานะสอดคล้องและทิ้งระบบไว้ในสถานะสอดคล้อง
  • Isolation - ผลลัพธ์ระหว่างทางของธุรกรรมไม่มองเห็นได้ภายนอกธุรกรรมปัจจุบัน
  • Durability - เมื่อธุรกรรมถูก commit แล้ว ผลผลกระทบจะคงอยู่ถาวร แม้ระบบล้มเหลว

Python DB API 2.0 มีเมธอด 2 ตัวสำหรับ commit หรือ rollback ธุรกรรม

ตัวอย่างโค้ด

# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
    # Execute the SQL command
    cursor.execute(sql)
    # Commit your changes in the database
    db.commit()
except:
    # Rollback in case there is any error
    db.rollback()