下面是详解PyMySQL插入字典类型的数据的完整攻略:
一、准备工作
- 安装PyMySQL模块:
pip install pymysql
- 导入PyMySQL:
import pymysql
二、连接数据库
- 连接数据库,获取连接对象
conn
:conn = pymysql.connect(host, user, password, database, charset)
- 创建游标对象
cursor
:cursor = conn.cursor()
三、插入字典类型的数据
插入字典类型的数据需要用到字典的keys()
和values()
方法。例如我们要插入一个字典data
,它的键名为name
、age
、sex
,键值为'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插入字典类型的数据的攻略,希望能帮助到你。