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