Where w MySQL w Pythonie

Rekomendacje kursów:

Użyj filtra do wyboru

Przykład

Gdy wybierasz rekordy z tabeli, możesz użyć zdania "WHERE" do filtrowania wyboru:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
Wybierz rekordy o wartości "Park Lane 38", wynik: sql = "SELECT * FROM customers WHERE
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Uruchomienie przykładu

address ='Park Lane 38'"

Znak wieloznaczności

Możesz również wybrać rekordy zaczynające się na podaną literę lub frazę, zawierające lub kończące się nią. Oznacza znak wieloznaczności:

Przykład

Wybierz rekordy zawierające słowo "way" w adresie:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address LIKE '%way%"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Uruchomienie przykładu

Zapobieganie wstrzyknięciu SQL

Kiedy użytkownik dostarcza wartości zapytania, powinieneś unikać tych wartości.

To jest robione, aby zapobiec wstrzyknięciu SQL, które jest powszechną techniką hakerów sieciowych, które mogą uszkodzić lub nadużyć Twojej bazy danych.

Moduł mysql.connector ma metody do unikania ucieczek zapytań:

Przykład

Używaj metody占位符 %s do unikania unikania ucieczek zapytań:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "SELECT * FROM customers WHERE address =" %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Uruchomienie przykładu