目录

Python MySQL 条件


使用条件选择

从表中选择记录时,您可以使用"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注入

当用户提供查询值时,您应该转义这些值。

这是为了防止 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)
运行示例 »