python将字典存入mysql数据库
时间: 2023-05-23 10:03:35 浏览: 625
可以使用Python的MySQL Connector模块,首先需要将字典对象转换为JSON格式,然后使用INSERT语句将其插入到数据库中。以下是示例代码:
```python
import mysql.connector
import json
# 将字典转换为JSON格式
my_dict = {"id": 1, "name": "John"}
json_dict = json.dumps(my_dict)
# 连接MySQL数据库,并将JSON格式的字典插入到表中
cnx = mysql.connector.connect(user='username', password='password',
host='127.0.0.1', database='mydb')
cursor = cnx.cursor()
insert_query = "INSERT INTO mytable (data) VALUES (%s)"
cursor.execute(insert_query, (json_dict,))
cnx.commit()
cursor.close()
cnx.close()
```
请注意,此代码只是示例,需要根据实际情况进行调整。
相关问题
python将json存入mysql数据库
非常好的问题!您可以使用python内置的json库将json数据读取为python字典类型,然后使用mysql-connector-python库将数据插入到MySQL数据库中。以下是示例代码:
```
import json
import mysql.connector
# 连接MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取MySQL游标
mycursor = mydb.cursor()
# 读取json数据
with open('data.json') as f:
data = json.load(f)
# 插入数据到MySQL数据库
for item in data:
sql = "INSERT INTO yourtable (column1, column2, column3) VALUES (%s, %s, %s)"
val = (item['column1'], item['column2'], item['column3'])
mycursor.execute(sql, val)
# 提交更改
mydb.commit()
print(mycursor.rowcount, "记录插入成功!")
```
请确保将上面的示例代码中的 `yourusername`、`yourpassword`、`yourdatabase`、`yourtable` 和 `column1`、`column2`、`column3` 替换为实际的值。
python将元组里的字典存入mysql数据库
可以使用 Python 的 MySQL 驱动包 pymysql 来连接数据库,然后将元组里的字典转化为 JSON 字符串后存入数据库。具体代码示例如下:
``` python
import pymysql
import json
data = [(1, {'id': 1, 'name': 'Alice'}), (2, {'id': 2, 'name': 'Bob'})]
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test')
cursor = conn.cursor()
# 创建表
cursor.execute('CREATE TABLE IF NOT EXISTS user (id INT PRIMARY KEY, data TEXT)')
# 存储数据
for item in data:
id_, info = item
data_str = json.dumps(info)
cursor.execute('INSERT INTO user (id, data) VALUES (%s, %s)', (id_, data_str))
conn.commit()
# 获取数据
cursor.execute('SELECT * FROM user')
results = cursor.fetchall()
for row in results:
id_, data_str = row
data = json.loads(data_str)
print(f"id={id_}, data={data}")
# 关闭连接
cursor.close()
conn.close()
```
请注意在实际应用中需要考虑数据库的安全问题,例如使用参数化查询、防止 SQL 注入等。
阅读全文