Python List 写入 MySQL

介绍

在Python中,我们经常需要将数据存储到数据库中以便后续使用。MySQL是一个流行的关系型数据库,具有稳定性和扩展性。本文将向您介绍如何使用Python的列表(List)将数据写入MySQL数据库。我们将使用Python的MySQL连接器来实现这个目标。

准备工作

在开始之前,我们需要确保以下组件已经安装在我们的系统中:

  • Python 3.x
  • MySQL数据库
  • Python的MySQL连接器(MySQL Connector/Python)

您可以使用以下命令安装MySQL Connector/Python:

pip install mysql-connector-python

安装完毕后,我们可以开始编写代码来实现将Python列表写入MySQL数据库。

连接到MySQL数据库

首先,我们需要连接到MySQL数据库。我们将使用连接器提供的connect()函数来建立与数据库的连接。下面是一个示例代码:

import mysql.connector

# 连接到MySQL数据库
cnx = mysql.connector.connect(user='username', password='password',
                              host='127.0.0.1',
                              database='database_name')

在代码中,您需要将username替换为您的MySQL用户名,password替换为您的MySQL密码,host替换为您的MySQL主机地址,database_name替换为您的数据库名称。

创建表

接下来,我们需要创建一个表来存储列表中的数据。我们可以使用execute()方法执行SQL语句来创建表。下面是一个示例代码:

# 创建表
cursor = cnx.cursor()
table_name = 'example_table'

create_table_query = '''
    CREATE TABLE IF NOT EXISTS {} (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255),
        age INT
    )
'''.format(table_name)

cursor.execute(create_table_query)

在代码中,我们首先创建了一个游标(cursor),然后使用execute()方法执行了一个创建表的SQL语句。IF NOT EXISTS语句用于检查表是否已经存在。如果表不存在,则会创建该表。

写入数据

现在,我们已经成功连接到数据库并创建了一个表,接下来我们需要将列表中的数据写入这个表。我们可以使用execute()方法和executemany()方法来执行SQL语句。下面是一个示例代码:

# 写入数据
insert_query = 'INSERT INTO {} (name, age) VALUES (%s, %s)'.format(table_name)

data = [('John', 25), ('Alice', 30), ('Bob', 35)]

cursor.executemany(insert_query, data)
cnx.commit()

在代码中,我们定义了一个插入数据的SQL查询语句,并使用executemany()方法将列表中的数据写入数据库。commit()方法用于提交事务,将数据永久保存到数据库中。

关闭连接

最后,我们需要关闭与数据库的连接,释放资源。我们可以使用close()方法来关闭连接。下面是一个示例代码:

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

在代码中,我们首先关闭了游标,然后关闭了连接。

完整代码

下面是一个将Python列表写入MySQL数据库的完整代码示例:

import mysql.connector

# 连接到MySQL数据库
cnx = mysql.connector.connect(user='username', password='password',
                              host='127.0.0.1',
                              database='database_name')

# 创建表
cursor = cnx.cursor()
table_name = 'example_table'

create_table_query = '''
    CREATE TABLE IF NOT EXISTS {} (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255),
        age INT
    )
'''.format(table_name)

cursor.execute(create_table_query)

# 写入数据
insert_query = 'INSERT INTO {} (name, age) VALUES (%s, %s)'.format(table_name)

data = [('John', 25), ('Alice', 30), ('Bob', 35)]

cursor.executemany(insert_query, data)
cnx.commit()

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

总结

通过使用Python的MySQL连接器,我们可以方便地将Python列表中的数据写入MySQL数据库。在本文中,我们了解了如何连接到MySQL数据库,创建表,以及如何将数据写入数据库。希望本文对您有所帮助!

[旅行图](