【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及以上提供)
相关推荐
Aurorar0rua12 分钟前
CS50 x 2024 Notes Data structures - 08
c语言·开发语言·学习方法
高级程序源15 分钟前
springboot荆州旅游推介平台24175-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·django·课程设计
企业数字化笔记17 分钟前
新租户注册成功却不能用?开通状态、初始化恢复与可用性验收
开发语言·python
Guarding and trust19 分钟前
项目拆解(二):模型输出是‘野‘的——三层兜底+重分析,把AI变成可靠零件
java·人工智能·python·大模型·fastapi·ollama·错误兜底
瑶山20 分钟前
Windows + WSL2 Ubuntu + VS Code配置C++开发环境
开发语言·c++·windows·vscode·wsl
用户2986985301420 分钟前
Python 实战:将 HTML 内容保存为图像文件
后端·python·html
for_ever_love__22 分钟前
LangChain MultiVectorRetriever:一个文档存多个向量
人工智能·python·自然语言处理·langchain·ai大模型·多向量·摘要检索
迅猛龙办公室28 分钟前
Python实现获取星期字符串
java·前端·python
Vertira29 分钟前
C# 函数封装成 DLL,
开发语言·c#
开开心心就好33 分钟前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl