【python】【sql】格式化注意事项

如果需要格式化表名到 sql 语句,sql 引擎是不支持的。

所以表名需要用字符串格式化,但其他参数最好用 sql 自带的格式,这样就不用去调一些细节,比如字符串的值是否要带引号之类的。

比如:

python 复制代码
cur.execute('SELECT {0} FROM {1} WHERE {2}="{3}"'.format(columnName, tableName, columnName, value))

# 上述是字符串格式化,所以参数 {3},如果是字符串,还要显式指定 ""

优化的方案是:

python 复制代码
cur.execute(f'SELECT ? FROM {tableName} WHERE ?=?', [columnName, columnName, value])

# 或者
cur.execute(F'SELECT ? FROM {tableName} WHERE ?=?', [columnName, columnName, value])

# 其中:
# f 和 F 是 python 格式化字符串的方法(python 3.6及以上提供)
相关推荐
阿标的博客2 分钟前
Python学习(三):Python程序的运行方式
开发语言·python·学习
IMPYLH3 分钟前
Linux 的 split 命令
linux·运维·python·bash·运维开发·unix
0xDevNull4 分钟前
分布式事务实战指南:从理论到Seata落地
java·开发语言·后端
z4424753266 分钟前
MySQL如何配置自动清理失效事务锁_结合定时任务清理
jvm·数据库·python
t***54411 分钟前
如何在 Dev-C++ 中配置 Clang 编译器
开发语言·c++
2301_8009769313 分钟前
数据库的基本操作
数据库·sql·oracle
码云数智-大飞15 分钟前
TLS 1.3的革新:更快的速度与更强的安全性
开发语言·php
KIHU快狐17 分钟前
快狐KIHU|86寸落地触控一体机G+G电容屏HarmonyOS鸿蒙酒吧查询终端
python·华为·harmonyos
南境十里·墨染春水20 分钟前
linux学习进展 线程同步——条件变量
java·开发语言·学习
qq_3729069323 分钟前
怎么通过宝塔面板对网站数据库进行深度碎片整理_使用Optimize命令优化表空间资源占用
jvm·数据库·python