Python MySQLdb模块:你可以在不调用字符串格式的情况下插入或更新吗?

时间:2017-03-24 16:56:00

标签: python mysql mysql-python

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

我用Google搜索,查看了许多不同的示例,并检查了API文档以及我为执行数据库插入或更新而找到的所有示例都需要从int或float数据生成字符串,然后调用{{1} }。

对于Python模块MySQLdb,您是否可以在整数或浮点数上调用字符串格式时插入或更新?如果是,怎么做?

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

1 个答案:

答案 0 :(得分:1)

如果您使用查询参数化MySQLdb将自动进行Python到数据库类型的转换:

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

注意查询参数如何在元组中单独传递。并且,您不需要在查询中放置占位符 - 驱动程序也会处理它。