python - 将 Python 字符串或字典插入 MySQL

标签 python mysql string dictionary

我有一个 Python 字符串(或者可能是一个 Python 字典),我想将其插入到 MySql 表中。
我的字符串如下:

{'ticker': 'BTC', 'avail_supply': 16479075.0, 'prices': 2750.99, 'name': 'Bitcoin', '24hvol': 678995000.0}

this is the error I'm getting

如果我想插入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/

相关文章:

mysql - 在 MySQL 数据库上使用版本控制 (Git)

mysql - 在 Mysql 中,您可以编写多少次 Select Inside Select 查询?

C中计算字符串中特定子字符串的数量

mysql - 使用 JSON 字符串搜索 MySQL 列以获取特定值

python - 字典中的字典理解

python - 扩展 Pandas 数据框的简单/有效方法

python - 传递cursor.execute mysql 查询中的元素列表

c++ - 当我声明字符串数组时,C++ 如何计算偏移地址

python - 按日期对行进行分组并覆盖 NaN 值

python - IBM Cloud 功能 - 无法创建操作