Bài 7 – Xóa dữ liệu của bảng trong cơ sở dữ liệu MySQL bằng Python
Để có thể xóa đi một vài bản ghi thỏa mãn điều kiện nào đó, trong SQL ta sử dụng lệnh DELETE FROM. Trong Python dãy câu lệnh xóa các bản ghi thỏa mãn điều kiện như sau:
Xóa các bản ghi thỏa mãn điều kiện
– Dạng không thay thế điều kiện
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
Lưu ý:
– Câu lệnh mydb.commit()
phải được thực hiện để việc xóa bản ghi có hiệu lực nếu không dữ liệu sẽ không được thay đổi.
– Điều kiện trong WHERE để xác định các bản ghi thỏa mãn điều kiện sẽ bị xóa, nếu không có điều kiện trong WHERE thì tất cả các bản ghi của bảng đều bị xóa hết.
– Dạng thay thế giá trị của điều kiện
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
Xóa bảng trong cơ sở dữ liệu
Để xóa bảng trong cơ sở dữ liệu MySQL ta sử dụng lệnh SQL là DROP TABLE
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DROP TABLE customers"
mycursor.execute(sql)
Để tránh quá trình xóa bị lỗi nếu bảng cần xóa không tồn tại ta sử dụng thêm từ khóa IF EXISTS
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DROP TABLE IF EXISTS customers"
mycursor.execute(sql)