关键词

python将类似json的数据存储到MySQL中的实例

下面我来分享一下关于“python将类似json的数据存储到MySQL中”的攻略。

步骤一:创建表格

首先需要在MySQL数据库中创建一张表格,用于存储 JSON 数据。表格的结构应该包含键值对两个字段,分别对应 JSON 数据的键和值。

我们可以使用以下 SQL 语句创建这个表格:

CREATE TABLE json_data (
    id  int(11) NOT NULL AUTO_INCREMENT,
    key varchar(255) NOT NULL,
    value longtext NOT NULL,
    PRIMARY KEY (id)
);

步骤二:安装Python中的MySQL库

接下来,需要在 Python 环境中安装 MySQL 数据库所需的库。可以通过 pip 来安装以下两个库:

pip install pymysql
pip install mysql-connector-python

步骤三:连接数据库

在 Python 中连接 MySQL 数据库需要传入数据库连接参数。以下是一个连接示例:

import pymysql

connection = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    db='test'
)

其中,host 为数据库服务器地址,userpassword 为权限认证所需的用户名和密码,db 为连接的数据库名称。

步骤四:读取 JSON 数据并存入数据库

现在,我们已经完成了连接数据库的过程,接下来就是读取 JSON 数据并存入数据表。这里提供两个示例:一个从文件中读取 JSON 数据,另一个通过 API 请求获取 JSON 数据。

1. 将 JSON 数据从文件中读出并存入 MySQL

import json
import pymysql

# 连接 MySQL 数据库
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    db='test'
)

# 读取 JSON 文件并解析成 Python 中的数据类型
with open('/path/to/json/file.json') as f:
    json_data = json.load(f)

# 将数据存入数据库
with connection.cursor() as cursor:
    for key, value in json_data.items():
        cursor.execute(
            "INSERT INTO json_data (key, value) VALUES (%s, %s)", 
            (key, json.dumps(value))
        )

# 提交更改并关闭数据库连接
connection.commit()
connection.close()

我们使用了 Python 中的 json 库将 JSON 文件解析成字典,然后再将字典写入数据库。此外,要注意将值转换为字符串存储。

2. 通过API获取 JSON 数据并存入 MySQL

import json
import requests
import pymysql

# 连接 MySQL 数据库
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    db='test'
)

# API 请求数据
response = requests.get('https://example.com/api/data')
json_data = response.json()

# 将数据存入数据库
with connection.cursor() as cursor:
    for key, value in json_data.items():
        cursor.execute(
            "INSERT INTO json_data (key, value) VALUES (%s, %s)", 
            (key, json.dumps(value))
        )

# 提交更改并关闭数据库连接
connection.commit()
connection.close()

此示例通过 Python 自带的 requests 库获取数据。获取到的数据封装在 JSON 中,然后使用之前的方法将数据存储到 MySQL 数据库。

步骤五:从数据库中获取 JSON 数据

在将 JSON 存储到 MySQL 数据库后,需要从数据库中取出数据进行使用。以下是一个从数据库中取出 JSON 数据的示例:

import json
import pymysql

# 连接 MySQL 数据库
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='root',
    db='test'
)

# 查询数据表获取JSON数据
with connection.cursor() as cursor:
    cursor.execute("SELECT key,value FROM json_data")
    rows = cursor.fetchall()

# 将数据反序列化为 Python 字典
json_data = {}
for row in rows:
    json_data[row[0]] = json.loads(row[1])

# 打印 JSON 数据
print(json_data)

connection.close()

这个示例中使用 SELECT 语句查询出表格中的数据,再将数据反序列化为 Python 的数据类型。最后,我们使用 print 输出 JSON 数据。

以上是 Python 将 JSON 数据存储到 MySQL 中的攻略和实例。

本文链接:http://task.lmcjl.com/news/18810.html

展开阅读全文