gpt4 book ai didi

Python MySQLdb 模块 : can you insert or update without calling string format?

转载 作者:行者123 更新时间:2023-11-29 10:56:04 25 4
gpt4 key购买 nike

对于Python模块 MySQLdb ,我想插入或更新数据库而不执行 str()关于我的数据(如 int 或 float 或其他)。我的版本是1.2.3。

我用谷歌搜索,查看了许多不同的示例,并检查了 API 文档,以及我发现的用于执行数据库插入或更新的所有示例都需要从 int 或 float 数据生成字符串,然后调用 cursor.execute() .

对于Python模块 MySQLdb ,您可以在不对整数或 float 调用字符串格式的情况下插入或更新吗?如果是,如何?

(顺便说一句,我不喜欢将 python int/float 转换为 str 进行插入,因为它会消耗 CPU,然后接收 mysql 服务器进程必须将 str 转换为 int/float,这也会再次消耗 CPU。另外,对于 float ,如果你的字符串表示错误......你的 float 可能会失去精度......或者有时会四舍五入......等等。)

最佳答案

如果您使用查询参数化MySQLdb会在后台自动执行Python到数据库的类型转换:

cursor.execute("UPDATE table SET field = %s", (value, ))

注意查询参数如何在元组中单独传递。而且,您不需要在查询中的占位符周围添加引号 - 驱动程序也会处理它。

关于Python MySQLdb 模块 : can you insert or update without calling string format?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005126/

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