下面我就来详细讲解一下“python将字典内容存入mysql实例代码”的完整攻略。
1. 安装数据库连接驱动
在Python中连接MySQL需要用到相应的Python MySQL数据库连接驱动,常见的有PyMySQL、MySQL Connector等。以PyMySQL为例,安装方法如下:
pip install pymysql
2. 连接MySQL
在代码中使用pymysql.connect()
函数进行MySQL连接。示例代码如下:
import pymysql
# 连接MySQL
db = pymysql.connect(
host='localhost', # 主机名
user='root', # 用户名
password='password', # 密码
database='test', # 数据库名
charset='utf8mb4' # 字符集
)
在代码中,我们首先导入了pymysql库。然后通过pymysql.connect()
函数进行MySQL连接,并传入相应的参数,包括主机名、用户名、密码、数据库名、字符集等。连接成功后,这个函数将返回一个MySQL连接对象。
3. 创建数据表
在MySQL中,我们需要先创建数据表,然后再将数据插入该表中。下面是一个示例的数据表创建语句:
CREATE TABLE mytable (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这是一个名为mytable
的数据表,其中有一个id字段、一个name字段和一个age字段。id字段为主键,并自动递增。表的字符集为utf8mb4。使用以下命令在MySQL中创建这个数据表:
mysql> CREATE TABLE mytable (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
4. 将数据插入数据表
有了一个可用的MySQL连接,并创建了一个用于存储数据的表,我们就可以使用Python将数据插入数据表了。
以下是将单个字典对象插入MySQL的示例代码:
import pymysql
# 字典对象
data = {'name': 'Tom', 'age': 18}
# 连接MySQL
db = pymysql.connect(
host='localhost', # 主机名
user='root', # 用户名
password='password', # 密码
database='test', # 数据库名
charset='utf8mb4' # 字符集
)
# 获取游标
cursor = db.cursor()
# SQL语句
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
# 执行SQL语句
try:
cursor.execute(sql, (data['name'], data['age']))
db.commit() # 提交事务
except Exception as e:
db.rollback() # 回滚事务
print(e)
# 关闭游标
cursor.close()
# 关闭MySQL连接
db.close()
在代码中,我们首先定义了一个字典对象data。接着使用pymysql.connect()
函数连接到MySQL数据库。之后通过db.cursor()
得到游标对象,执行SQL语句。在本例中,我们执行了一个INSERT语句,将字典对象data中的数据插入到mytable数据表中,然后通过调用db.commit()
提交事务。
后面的代码中,我们关闭了游标对象和MySQL连接对象,释放了资源。
以下是将多个字典对象插入MySQL的示例代码:
import pymysql
# 多个字典对象
data_list = [
{'name': 'Tom', 'age': 18},
{'name': 'Jerry', 'age': 19},
{'name': 'Alice', 'age': 20},
]
# 连接MySQL
db = pymysql.connect(
host='localhost', # 主机名
user='root', # 用户名
password='password', # 密码
database='test', # 数据库名
charset='utf8mb4' # 字符集
)
# 获取游标
cursor = db.cursor()
# SQL语句
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
# 执行SQL语句
for data in data_list:
try:
cursor.execute(sql, (data['name'], data['age']))
db.commit() # 提交事务
except Exception as e:
db.rollback() # 回滚事务
print(e)
# 关闭游标
cursor.close()
# 关闭MySQL连接
db.close()
在本例中,我们定义了一个列表data_list
,其中包含多个字典对象。在上面的代码中,我们先连接到MySQL数据库,然后获取游标对象,执行SQL语句,用循环将列表中的字典逐个插入到数据表中。
好了,以上就是将字典内容存入mysql的完整攻略,希望对你有所帮助。