【DBAPI案例】DBAPI如何使用复杂多层嵌套JSON作为请求参数
    		       		warning:
    		            这篇文章距离上次修改已过426天,其中的内容可能已经有所变动。
    		        
        		                
                
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对象转换为字符串。最后,我们提交了事务并关闭了数据库连接。
评论已关闭