【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及以上提供)
相关推荐
计算机毕业编程指导师4 分钟前
【计算机毕设推荐】Python+Hadoop+Spark共享单车数据可视化分析系统 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·数据挖掘·spark·课程设计
2301_795099746 分钟前
golang如何在Gin中自定义验证器_golang Gin自定义验证器实现方法
jvm·数据库·python
计算机毕业编程指导师7 分钟前
【计算机毕设】基于Hadoop的共享单车订单数据分析系统+Python+Django全栈开发 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·数据挖掘·spark·django
programhelp_10 分钟前
Pinterest OA 题库大公开|Programhelp 独家整理(最新高频)
java·开发语言
2301_7662834415 分钟前
如何在MongoDB GridFS中进行按文件大小(length)范围的查询
jvm·数据库·python
他是龙55121 分钟前
71:Python安全 & 反序列化 & PYC反编译 & 格式化字符串安全
开发语言·python·安全
2601_9561394224 分钟前
文体娱媒品牌全案公司哪家强
大数据·人工智能·python
wjs20241 小时前
Go 语言接口
开发语言
冬天vs不冷1 小时前
面试必知必会(14):MySQL执行计划与SQL优化
sql·mysql·面试
草莓熊Lotso1 小时前
《告别 “会用不会讲”:C++ string 底层原理拆解 + 手撕实现,面试 / 开发都适用》
开发语言·c++·面试