【mysql数据库】python 3.7 脚本执行SQL语句,关于字符串变量的注意事项

本文介绍了在Python 3.7中使用cursor.execute执行MySQL SQL语句时,关于字符串变量的注意事项。包括两种情况:1) 字符串变量与SQL语句在同一表达式中,使用'%s'且带单引号;2) 不在同一表达式中,使用%s且不带单引号。同时,非字符串变量也应使用%s,不加单引号。文中还提供了一个测试场景,涉及单个字符变量和多个变量(包括整型和字符串)的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载一篇网友介绍Python 数据库的Connection、Cursor两大对象,写的非常好。
https://blog.youkuaiyun.com/guofeng93/article/details/53994112

最新在使用python操作数据库,发现使用cursor.execute执行mysql数据时,字符串变量规范用法,总结如下。
1、字符串变量与SQL语句在同一个表达式中时,通配符使用 '%s',有单引号。字符串变量与SQL语句在不同表达式中时,通配符使用 %s,无单引号。
2、SQL语句中的非字符串变量时,通配符使用 %s,任何时候都无单引号。

测试数据:

1、构建1个测试表test,包含3个字段,分别是int、varchar、varchar类型。

2、测试SQL语句中包含1个字符变量

测试语句 测试结果

cursor.execute("insert into `test`(`姓名`) values('%s')", ('路人甲')) 

cursor.execute("insert into `test`(`姓名`) values('%s')" %

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值