【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及以上提供)
相关推荐
Xeon_CC1 分钟前
用C++编写屏幕准星
开发语言·c++
孤存5227 分钟前
c语言动态内存管理
c语言·开发语言·算法
Ali885208 分钟前
Python字符串方法速查表大全
前端·python
开源量化GO12 分钟前
近期量化实现:API 数据、策略逻辑和交易执行要连成一条线
人工智能·python
小柯南敲键盘16 分钟前
跨马翻译:跨境电商批量图片翻译与视频字幕工具推荐
人工智能·python·音视频
冰暮流星20 分钟前
javascript之webstorage用法
开发语言·javascript·ecmascript
我一定会有钱23 分钟前
打造完美工作流:Git 配置”一次推送,三端同步”(Gitee/GitCode/GitHub)
开发语言·windows·vscode·搜索引擎·gitlab·github·visual studio code
matlab代码38 分钟前
基于matlab肤色人脸标记检测系统 GUI界面【源码53期】
开发语言·matlab·人脸标记
李可以量化1 小时前
Redis 从了解到精通(一・上):量化开发必学的三大基础数据类型
python
KhalilRuan1 小时前
UnityCsReference——笔记
java·开发语言·笔记