【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 分钟前
C# 学习文档(零基础入门)
开发语言·学习·c#
冰暮流星6 分钟前
mysql之左外连接与右外连接
数据库·sql
触底反弹28 分钟前
面试被问到 Text2SQL,我用 DeepSeek 自己实现了一个
python·sqlite
2601_9622955838 分钟前
python+selenium实现自动化测试
自动化测试·python·selenium·学习心得·web端测试
软件黑马王子39 分钟前
14.事件中心:主要作用和原理
开发语言·前端框架·c#
青 春 记 忆44 分钟前
零基础入门python66:FastAPI AI标题、摘要和标签
python·fastapi·后端开发
qq_22589174661 小时前
基于Python+Django的LangGraph智能旅游规划系统
python·django·旅游
君顾11 小时前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
青 春 记 忆1 小时前
零基础入门python65:FastAPI 安全调用大模型API
python·fastapi·后端开发