从表中选择记录时,您可以使用"WHERE"语句过滤选择:
选择地址为"Park Lane 38"的记录:结果:
import mysql.connector
mydb = 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)
运行示例 »
您还可以选择以给定字母或短语开头、包含或结尾的记录。
使用%
表示通配符:
选择地址包含单词 "way" 的记录:
import mysql.connector
mydb = 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)
运行示例 »
当用户提供查询值时,您应该转义这些值。
这是为了防止 SQL 注入,这是一种常见的网络黑客技术,旨在破坏或滥用您的数据库。
mysql.connector 模块具有转义查询值的方法:
使用占位符转义查询值%s
方法:
import mysql.connector
mydb = 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)
运行示例 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!