python将字典内容存入mysql实例代码

  • Post category:Python

下面我就来详细讲解一下“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的完整攻略,希望对你有所帮助。