Python MySQL Delete From

Usuń rekordy

Możesz użyć zdania "DELETE FROM" do usunięcia rekordów z istniejącej tabeli:

Przykład

Usuń wszystkie rekordy o adresie "Mountain 21":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "DELETE FROM customers WHERE address = 'Mountain 21'
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "rekord(y) usunięty(e)")

Uruchomienie przykładu

Ważne:Proszę zwróć uwagę na zdanie mydb.commit()Wymagane są zmiany, w przeciwnym razie tabela nie zostanie zmieniona.

Proszę zwróć uwagę na składnię WHERE w syntaksie DELETE: klauzula WHERE określa, które rekordy powinny być usunięte. Jeśli pominie się klauzulę WHERE, zostaną usunięte wszystkie rekordy!

Zapobieganie wstrzyknięciom SQL

To jest dobry zwyczaj, aby uciec wartościom w zapytaniu delete.

To jest robione w celu zapobiegania wstrzyknięciom SQL, które są powszechną techniką hakerów sieciowych, mogących uszkodzić lub nadużyć Twojej bazy danych.

Moduł mysql.connector używa znaczników zamiennych %s Aby uciec wartościom w zapytaniu delete:

Przykład

Użycie znaczników zamiennych %s Metoda ucieczkowa dla wartości:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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, "rekord(y) usunięty(e)")

Uruchomienie przykładu