我有一个 Python 字符串(或者可能是一个 Python 字典),我想将其插入到 MySql 表中。
我的字符串如下:
{'ticker': 'BTC', 'avail_supply': 16479075.0, 'prices': 2750.99, 'name': 'Bitcoin', '24hvol': 678995000.0}
如果我想插入Dict格式,我有同样的错误。
我真的不明白这种错误(即字符串组件之间的“\”)。
我该如何处理这个错误?为什么要将整个字符串正确插入到 SQL 中的特定 TEXT 单元格?
非常感谢!!
最佳答案
下面是如何连接,制作表格,插入表格。
import MySQLdb as mdb
import sys
#connect
con = mdb.connect('localhost', 'testuser', 'test623', 'testdb');
with con:
#need the cursor object so you can pass sql commands, also there is a dictionary cursor
cur = con.cursor()
#create example table
cur.execute("CREATE TABLE IF NOT EXISTS \
Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")
#insert what you want
cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")
cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")
上面的示例将创建一个包含 2 个列、一个 ID 和一个名称的表格
看here关于如何使用键从字典中插入内容并将其作为值列表插入 sql 的示例,基本上您需要占位符
sql = "INSERT INTO mytable (a,b,c) VALUES (%(qwe)s, %(asd)s, %(zxc)s);"
data = {'qwe':1, 'asd':2, 'zxc':None}
conn = MySQLdb.connect(**params)
cursor = conn.cursor()
cursor.execute(sql, data)
cursor.close()
conn.close()
或者你可以选择 this作为一个简单直接的字典的例子
placeholders = ', '.join(['%s'] * len(myDict))
columns = ', '.join(myDict.keys())
sql = "INSERT INTO %s ( %s ) VALUES ( %s )" % (table, columns, placeholders)
cursor.execute(sql, myDict.values())
关于python - 将 Python 字符串或字典插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45448708/