使用Python将数据写入MySQL表

时间:2013-06-03 07:13:13

标签: python mysql database

我正在尝试将数据输出到MySQL数据库中。 我可以创建数据库并连接到它(经过很多问题)。

现在我想将数据写入数据库。我使用以下代码:

cur.execute("INSERT INTO AmazonSalesRank(Artist_Name) VALUES(artist_name)")

如果我使用实际值而不是

,这似乎有效
artist_name

例如

"Bon Jovi"

只要我有变量就没有。 代码错了吗?有什么想法吗?

编辑:我刚刚看到数据被推入多行而不是一行......我是否必须合并这些语句?

2 个答案:

答案 0 :(得分:1)

artist_name这里只是一个文字字符串。并尝试:

cur.execute("INSERT INTO AmazonSalesRank(Artist_Name) VALUES(%s)", [artist_name])

答案 1 :(得分:-1)

要使用像artist_name这样的变量而不是像“Bon Jovi”这样的字符串,你应该正确连接字符串,如:

"The "+artist_name+" is cool"

会导致“The Bon Jovi很酷”

使用“The”+“Bon Jovi”+“很酷”会产生与之相同的字符串 “没有+符号的”“Bon Jovi”“很酷”,这就是这里发生的事情,你隐含地连接字符串。

所以你应该使用类似的东西:

cur.execute("INSERT INTO AmazonSalesRank("+Artist_Name+") VALUES(artist_name)")

有关字符串格式设置的更多信息,请查看http://docs.python.org/2/library/string.html#string-formatting