Where en MySQL en Python
- Página anterior Select MySQL
- Página siguiente Order By MySQL
使用筛选器来选取
从表中选择记录时,可以使用 "WHERE" 语句对选择进行筛选:
Ejemplo
选择记录为 "Park Lane 38" 的记录,结果:
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)
通配符
您也可以选择以给定字母或短语开头、包含或结束的记录。
请使用 %
表示通配符:
Ejemplo
选择包含单词 "way" 的地址的记录:
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)
Prevenir la inyección SQL
Cuando los usuarios proporcionan valores de consulta, debe escapar estos valores.
Esto se hace para evitar la inyección SQL, una técnica común de piratería informática que puede dañar o abusar de su base de datos.
El módulo mysql.connector tiene métodos para escapar valores de consulta:
Ejemplo
Usar el método de sustitución de lugar %s para escapar valores de consulta:
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)
- Página anterior Select MySQL
- Página siguiente Order By MySQL