gpt4 book ai didi

python - 使用 MySQLdb 库在 Python 中将数据库查询作为变量

转载 作者:行者123 更新时间:2023-11-29 13:10:23 24 4
gpt4 key购买 nike

我想将所有数据保存在字典中(或任何其他可以工作的东西)并将所有变量插入到mysql数据库中添加到我的变量中。问题是,我不知道我会有多少变量。

它看起来像这样:

cur.execute("INSERT INTO db_name(keys) VALUES (dict[key])")

我的程序中有很多东西,其中一些是 bool 变量(True,False),一些是整数,另一些是字符串。默认情况下,我可以这样添加它们:

cur.execute(""" INSERT INTO db_name(a, b, c, d) VALUES ('%s', '%s', %s, %s) """, ('abc', 123, True, 'NULL')

如您所见,对于字符串和整数 '%s' 以及 bool 值,NULL 必须是不带 '' 的 %s

原因是,如果找不到变量,它在数据库中必须为 NULL,但我不知道如何将字符串和整数变量添加为 NULL,因为它使用 '%s' 将它们作为字符串插入。

类似的东西:(它不是Python代码,它只是语法思想)

cur.execute("INSERT INTO db_name( data.keys() ) VALUES ( data.values() ) ")

最佳答案

感谢大家的帮助,使用format函数解决了问题:

query = "INSERT INTO shData("
query_v = "VALUES ("
for key in q_i:
query += key + ','
if isinstance(q_i[key],str):
query_v += "'{" + key + "}',"
else:
query_v += "{" + key + "},"
query = query.rstrip(",")
query_v = query_v.rstrip(",")
query = query + ") " + query_v + ") "
cur.execute(query.format(**q_i))

关于python - 使用 MySQLdb 库在 Python 中将数据库查询作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22173929/

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