Python MySQL查询在哪里(where)

目录

一.用过滤器选择

二.通配符

三.防止 SQL 注入


一.用过滤器选择

从表中选择记录时,可以使用“WHERE”语句过滤选择。例如:选择名字为”笨小孩“的记录:结果:

# coding=gbk
#连接
import pymysql

mydb = pymysql.connect(
    
    host="localhost", #默认用主机名
    port=3306,
    user="root",  #默认用户名
    password="123456",   #mysql密码
    database='student', #库名
    charset='utf8'   #编码方式
)

print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()

#创建SQL查询语句
sql = "SELECT * FROM stu WHERE name ='笨小孩' "
#执行sql语句
mycursor.execute(sql)
#打印
myresult = mycursor.fetchall()

for x in myresult:
    print(x)

演示:

二.通配符

您还可以选择以给定字母或短语开头、包含或结尾的记录。使用% 来表示通配符。
例如:选择地址包含单词“way”的记录

# coding=gbk
#连接
import pymysql

mydb = pymysql.connect(
    
    host="localhost", #默认用主机名
    port=3306,
    user="root",  #默认用户名
    password="123456",   #mysql密码
    database='student', #库名
    charset='utf8'   #编码方式
)

print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()

#创建SQL查询语句
sql = "SELECT * FROM stu WHERE name LIKE '%羊%'"
#执行sql语句
mycursor.execute(sql)
#打印
myresult = mycursor.fetchall()

for x in myresult:
    print(x)

演示:

 

三.防止 SQL 注入

当用户提供查询值时,您应该对这些值进行转义。这是为了防止 SQL 注入,这是一种常见的网络黑客技术,用于破坏或滥用您的数据库。
mysql.connector 模块具有转义查询值的方法。
例如使用 placholder%s 方法转义查询值:

# coding=gbk
#连接
import pymysql

mydb = pymysql.connect(
    
    host="localhost", #默认用主机名
    port=3306,
    user="root",  #默认用户名
    password="123456",   #mysql密码
    database='student', #库名
    charset='utf8'   #编码方式
)

print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()

#创建SQL查询语句
sql = "SELECT * FROM stu WHERE name=%s"
adr = ("喜羊羊", )
#执行sql语句
mycursor.execute(sql, adr)
#打印
myresult = mycursor.fetchall()

for x in myresult:
    print(x)

运行如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值