1、使用过滤器进行选择
从表中选择记录时,可以使用“WHERE”语句过滤选择:
例如:
选择地址为“Park Lane 38”的记录:结果:
import mysql.connectormydb = mysql.connector.connect(host="localhost",user="yourusername",password="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)
2、通配符
还可以选择以给定字母或短语开头,包含或结尾的记录。
使用%
表示通配符:
例如:
选择地址包含单词“way”的记录:
import mysql.connectormydb = mysql.connector.connect(host="localhost",user="yourusername",password="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)
3、防止SQL注入
当用户提供查询值时,应转义这些值。
这是为了防止SQL注入,这是破坏或滥用数据库的常见Web黑客技术。
mysql.connector模块具有转义查询值的方法:
例如:
通过使用占位符%s
方法来转义查询值:
import mysql.connectormydb = mysql.connector.connect(host="localhost",user="yourusername",password="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)