详解PyMySQL插入字典类型的数据

  • Post category:Python

下面是详解PyMySQL插入字典类型的数据的完整攻略:

一、准备工作

  1. 安装PyMySQL模块:pip install pymysql
  2. 导入PyMySQL:import pymysql

二、连接数据库

  1. 连接数据库,获取连接对象connconn = pymysql.connect(host, user, password, database, charset)
  2. 创建游标对象cursorcursor = conn.cursor()

三、插入字典类型的数据

插入字典类型的数据需要用到字典的keys()values()方法。例如我们要插入一个字典data,它的键名为nameagesex,键值为'Tom'20'male'

data = {'name': 'Tom', 'age': 20, 'sex': 'male'}

我们可以使用以下代码把这个字典类型的数据插入到数据库中:

sql = "INSERT INTO `table` (`name`, `age`, `sex`) VALUES (%s, %s, %s)"
cursor.execute(sql, tuple(data.values())) 

以上代码中,我们使用VALUES (%s, %s, %s)为这个字典建立了对应的列名,其中的%s为占位符。然后,我们通过tuple(data.values())将字典中的所有值组成一个元组。

四、完成操作

完成操作需要使用到commit()close()方法。执行commit()方法会将数据库中的数据修改保存,而执行close()方法则会断开与数据库的连接。

下面是一个完整的示例:

import pymysql

data = {'name': 'Tom', 'age': 20, 'sex': 'male'}

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    database='test',
    charset='utf8'
)
cursor = conn.cursor()

# 插入数据
sql = "INSERT INTO `table` (`name`, `age`, `sex`) VALUES (%s, %s, %s)"
cursor.execute(sql, tuple(data.values()))
conn.commit()

# 关闭连接
cursor.close()
conn.close()

另外,还有一个示例是插入多个字典类型的数据,代码如下:

import pymysql

datas = [{'name': 'Tom', 'age': 20, 'sex': 'male'}, {'name': 'Lily', 'age': 18, 'sex': 'female'}, {'name': 'Jerry', 'age': 22, 'sex': 'male'}]

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    database='test',
    charset='utf8'
)
cursor = conn.cursor()

# 插入数据
for data in datas:
    sql = "INSERT INTO `table` (`name`, `age`, `sex`) VALUES (%s, %s, %s)"
    cursor.execute(sql, tuple(data.values()))
    conn.commit()

# 关闭连接
cursor.close()
conn.close()

以上就是完整的详解PyMySQL插入字典类型的数据的攻略,希望能帮助到你。