Python MySQL Where

Χρησιμοποιήστε φίλτρα για να επιλέξετε

Όταν επιλέγετε καταγραφές από μια τάbla, μπορείτε να χρησιμοποιήσετε τη φράση "WHERE" για να φιλτράρετε την επιλογή:

Παράδειγμα

Επιλογή καταγραφών για το "Park Lane 38", αποτελέσματα:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "Επιλογή * Από customers" WHERE address ='Park Lane 38'"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Εκτέλεση παραδείγματος

Αντικαθιστώμενος χαρακτήρας

Μπορείτε επίσης να επιλέξετε καταγραφές που ξεκινούν με τη δοθείσα λέξη ή φράση, περιέχουν ή τελειώνουν με αυτήν.

Χρησιμοποιήστε Αντικαθιστώμενος χαρακτήρας:

Παράδειγμα

Επιλογή καταγραφών που περιέχουν το όνομα "way" στην διεύθυνση:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "Επιλογή * Από customers Που address Συντάχθηκε μεLIKE '%way%"
mycursor.execute(sql)
myresult = mycursor.fetchall()
for x in myresult:
  print(x)

Εκτέλεση παραδείγματος

Προφύλαξη από SQL ένεση

Όταν οι χρήστες παρέχουν τιμές ερώτησης, πρέπει να εξελιχθούν αυτές οι τιμές.

Αυτό γίνεται για να αποφευχθεί η SQL ένεση, μια συχνή τεχνική των хάκερ, η οποία μπορεί να καταστρέψει ή να εκμεταλλευτεί τη βάση δεδομένων σας.

Ο μονάδος mysql.connector έχει μεθόδους για την εξέλιξη των τιμών της ερώτησης:

Παράδειγμα

Χρησιμοποιήστε το μέθοδο αντικατάστασης των θέσεων %s για να εξελίξετε τις τιμές της ερώτησης:

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)

Εκτέλεση παραδείγματος