Python ลบข้อมูล 2 ตารางพร้อมกัน ด้วยการ join ตาราง บทความนี้สอนการเขียนคำสั่ง SQL ในส่วนของ DELETE FROM เพื่อลบข้อมูลที่มีความสัมพันธ์กัน 2 ตาราง ผ่านการ join ตาราง สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง Python ลบข้อมูล 2 ตารางพร้อมกัน ด้วยการ join ตาราง
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='127.0.0.1', database='demo')
cur = cnx.cursor()
sql = " DELETE category, book FROM category, book WHERE ( cgy_id = book_cgy_id ) AND ( cgy_id = 5 ) "
cur.execute( sql )
cnx.commit()
cnx.close()
Python ลบข้อมูล 2 ตารางพร้อมกัน จากตัวอย่างต้องการลบข้อมูลจากตาราง category ด้วยรหัส cgy_id = 5 โดยให้ลบข้อมูลในตาราง book ที่อยู่ใน category ดังกล่าวด้วย พิจารณาคำสั่ง SQL ได้ดังนี้
1. DELETE category, book FROM category, book คือ ลบข้อมูล 2 ตารางจาก category และ book
2. WHERE ( cgy_id = book_cgy_id ) คือ join ตารางระหว่าง category ผ่าน column cgy_id และตาราง book ผ่าน column book_cgy_id
3. AND ( cgy_id = 5 ) คือ กำหนดเงื่อนไขข้อมูลที่จะลบ ตัวอย่างลบ cgy_id เท่ากับ 5 ซึ่งจะทำให้ข้อมูลในตาราง book ที่ book_cgy_id = 5 ทั้งหมดจะถูกลบไปด้วยผ่านการ join ตาราง