python将字典存入mysql数据库
时间: 2023-05-23 19:03:35 浏览: 301
可以使用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对象,然后使用MySQLdb或pymysql等库将Python对象存入MySQL数据库中。以下是一个示例代码:
```python
import json
import MySQLdb
# 将json数据转换为Python对象
json_data = '{"name": "张三", "age": 20}'
python_obj = json.loads(json_data)
# 连接MySQL数据库
conn = MySQLdb.connect(host='localhost', user='root', password='123456', db='test', charset='utf8')
cursor = conn.cursor()
# 将Python对象存入MySQL数据库中
sql = "INSERT INTO user(name, age) VALUES (%s, %s)"
params = (python_obj['name'], python_obj['age'])
cursor.execute(sql, params)
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
注意:在实际使用中,需要根据具体情况修改代码,比如修改数据库连接信息、修改表名和字段名等。
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 注入等。
相关推荐














