【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及以上提供)
相关推荐
曲径海盗5 分钟前
【Python 学习第 33 天】条件判断 if/else
python·学习笔记·编程入门
我就是不信15 分钟前
Swift 方法派发机制详解
开发语言·ios·swift
CCCCCCCCharlie19 分钟前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法
roman_日积跬步-终至千里22 分钟前
【数据Agent论文·查询与语义|09】Spider 2.0:从生成SQL走向完成企业工作流
数据库·sql·数据分析
曦夜日长23 分钟前
MySQL系统篇,数据库基础(二):数据库概念、SQL 分类与存储引擎
数据库·sql·mysql
泡海椒24 分钟前
JQuick-SQL AST 解析:从 SQL 文本到强类型节点
数据库·sql
Zenova EdgeOS26 分钟前
Rust TUI 实战:用 ratatui 构建工业边缘终端界面
开发语言·后端·rust·工业网关
把我格子衫拿来28 分钟前
鼠标点到哪里才算选中?Qt 与 VTK 的拾取坐标、DPI 与体素定位
python·qt·vtk·坐标变换·三维交互
泡海椒35 分钟前
JQuick-SQL 模块架构:从 SQL AST 到分布式执行
分布式·sql·架构
学逆向的43 分钟前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全