Python MySQL Удалить из
Удалить запись
Вы можете удалить записи из существующей таблицы, используя оператор «DELETE FROM»:
Пример
Удалите любую запись, где адрес «Горная 21»:
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")
Важно! Обратите внимание на утверждение:
mydb.commit()
. Необходимо внести изменения, иначе в таблицу не вносятся никакие изменения.
Обратите внимание на предложение WHERE в синтаксисе DELETE: предложение WHERE указывает, какие записи следует удалить. Если вы опустите предложение WHERE, все записи будут удалены!
Предотвратить SQL-инъекцию
Считается хорошей практикой экранировать значения любого запроса, в том числе и в операторах удаления.
Это делается для предотвращения SQL-инъекций, которые являются распространенным методом веб-хакерства для уничтожения или неправильного использования вашей базы данных.
Модуль mysql.connector использует заполнитель %s
для экранирования значений в операторе удаления:
Пример
Экранируйте значения с помощью %s
метода заполнителя:
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")