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

คุณจะลบบันทึกออกจากตารางโดยใช้ MySQL ใน Python ได้อย่างไร


บางครั้งเราอาจจำเป็นต้องลบบางแถวออกจากตาราง สมมติว่าเรามีตารางรายละเอียดของนักเรียนในชั้นเรียน เป็นไปได้ว่านักเรียนคนหนึ่งออกจากชั้นเรียน ดังนั้นเราจึงไม่ต้องการรายละเอียดของนักเรียนคนนั้น ดังนั้นเราจึงจำเป็นต้องลบแถวหรือบันทึกนั้นออกจากตาราง

คำสั่ง "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() ในรหัสข้างต้นมีความสำคัญ มันถูกใช้เพื่อคอมมิตการเปลี่ยนแปลงที่ทำกับตาราง โดยไม่ต้องใช้คอมมิต () จะไม่มีการเปลี่ยนแปลงในตาราง