gpt4 book ai didi

python - 使用 dict 对 SQL 插入进行字符串格式化

转载 作者:行者123 更新时间:2023-11-29 12:16:26 25 4
gpt4 key购买 nike

以下是我通常在 MySQLdb 中添加参数的方式:

cursor.execute('INSERT INTO main_territory (code, name) VALUES (%s, %s)', (item[0], item[1]))

有没有办法让字符串格式化更直观?例如,如果我在 INSERT 中有 50 个参数。类似于:

cursor.execute('''INSET INTO main_territory (code, name) VALUES ({code}, {name})''',
{code=item[0], name=item[1}
)

最佳答案

这取决于数据库驱动程序。通常,如果支持位置参数 (%s),则可以使用 %(name)s 格式命名参数:

cursor.execute(
'''INSERT INTO main_territory (code, name) VALUES (%(code)s, %(name)s)''',
{'code': item[0], 'name': item[1]})

然后参数值作为字典传入。

最常用的MySQL数据库适配器,MySQLdb支持这种风格。

其他数据库适配器使用 ?:name 作为位置和命名参数;您可以通过 paramstyle attribute 查询使用的样式在模块上:

>>> import MySQLdb
>>> MySQLdb.paramstyle
'format'

但由于大多数驱动程序都支持位置样式和命名样式,因此它们通常只命名其中一种('format''qmark'),同时还支持命名变体。请务必查阅文档来验证这一点。

关于python - 使用 dict 对 SQL 插入进行字符串格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29721519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com