【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及以上提供)
相关推荐
2501_92495269几秒前
代码生成器优化策略
开发语言·c++·算法
wan9yu8 分钟前
为什么你需要给 LLM 的数据"加密"而不是"脱敏"?我写了一个开源工具
python
清风徐来QCQ11 分钟前
八股文(1)
java·开发语言
lsx20240615 分钟前
网站主机技术
开发语言
摇滚侠17 分钟前
你是一名 java 程序员,总结定义数组的方式
java·开发语言·python
xyq202427 分钟前
Vue3 条件语句详解
开发语言
这个名有人用不35 分钟前
解决 uv 虚拟环境使用 pip 命令提示command not found的办法
python·pip·uv·claude code
浩浩kids1 小时前
R•Homework
开发语言·r语言
Oueii1 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python