Où MySQL en Python

Sélectionnez à l'aide de filtre

Lorsque vous sélectionnez des enregistrements dans une table, vous pouvez utiliser l'expression "WHERE" pour filtrer la sélection :

Exemple

Sélectionnez les enregistrements pour "Park Lane 38", résultat :

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

Exécuter l'exemple

joker

Vous pouvez également choisir les enregistrements commençant par une lettre ou un mot donné, contenant ou se terminant par une phrase.

Utilisez représente le joker :

Exemple

Sélectionnez les enregistrements contenant le mot "way" dans l'adresse :

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)

Exécuter l'exemple

Prévenir les injections SQL

Lorsque les utilisateurs fournissent des valeurs de requête, vous devriez les échapper.

Ceci est fait pour prévenir les injections SQL, une technique courante des pirates informatiques, qui peut endommager ou abuser de votre base de données.

Le module mysql.connector possède des méthodes pour échapper aux valeurs de requête :

Exemple

Utilisez la méthode de remplacement par le marqueur de remplacement %s pour échapper aux valeurs de requête :

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)

Exécuter l'exemple