当前位置:首页 > python教程 > python基础

Python MySQL Where

  • mysql select

使用筛选器来选取

从表中选择记录时,可以使用 "where" 语句对选择进行筛选:

实例

选择记录为 "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)

运行实例

通配符

您也可以选择以给定字母或短语开头、包含或结束的记录。

请使用 % 表示通配符:

实例

选择地址中包含单词 "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)

运行实例

防止 sql 注入

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

此举是为了防止 sql 注入,这是一种常见的网络黑客技术,可以破坏或滥用您的数据库。

mysql.connector 模块拥有转义查询值的方法:

实例

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

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)

运行实例

  • mysql select

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!