import json
import pymysql
# 假设我们有一个复杂的嵌套JSON对象
complex_json = {
"name": "John",
"age": 30,
"city": "New York",
"skills": ["Python", "SQL", "Data Analysis"],
"education": {
"degree": "Masters",
"field": "Computer Science"
}
}
# 连接数据库
connection = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='mydb',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
try:
# 创建游标对象
with connection.cursor() as cursor:
# 将JSON对象转换为字符串
json_data = json.dumps(complex_json)
# 准备SQL语句,使用%s作为参数占位符
sql = "INSERT INTO users (json_data) VALUES (%s)"
# 执行SQL语句
cursor.execute(sql, json_data)
# 提交事务
connection.commit()
finally:
# 关闭数据库连接
connection.close()
这段代码演示了如何使用Python的pymysql库将一个复杂的嵌套JSON对象作为参数传递给一个SQL查询。首先,我们创建了一个复杂的嵌套JSON对象,然后通过pymysql.connect()建立了数据库连接。在事务中,我们使用cursor.execute()方法执行了一个带有参数的SQL语句,该参数是通过json.dumps()将JSON对象转换为字符串。最后,我们提交了事务并关闭了数据库连接。