Python MySQL Where


章节

  • Python MySQL 入门
  • Python MySQL 创建数据库
  • Python MySQL 创建表
  • Python MySQL 插入表
  • Python MySQL Select
  • Python MySQL Where
  • Python MySQL Order By
  • Python MySQL Delete
  • Python MySQL 删除表
  • Python MySQL Update
  • Python MySQL Limit
  • Python MySQL Join

筛选数据

从表中选取记录时,可以使用“WHERE”语句筛选:

示例

选取地址为“Park Lane 38”的记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  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)

通配符

WHERE语句中可以使用通配符%。关于SQL中,WHERE子句使用通配符,详情可以参考我们的SQL教程SQL WHERE

示例

选取地址中包含单词“way”的记录:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  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注入,应该转义这些值。

SQL注入是一种常见的web黑客技术,用于破坏或误用数据库。

mysql.connector 模块有方法可以转义查询值:

示例

使用占位符%s方法转义查询值:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="你的用户名",
  passwd="你的密码",
  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)

你可能感兴趣的:(Python MySQL Where)