Python MySQL 插入数据
简介
MySQL是一种开源的数据库管理系统,常用于存储和管理大量的数据。Python作为一种强大的编程语言,提供了许多库和模块来连接和操作MySQL数据库。本文将介绍如何使用Python插入数据到MySQL数据库中。
准备工作
在开始之前,需要确保已经安装了Python和MySQL。可以通过以下步骤来安装所需的库和模块:
连接到MySQL数据库
在使用Python插入数据之前,首先要连接到MySQL数据库。可以使用mysql.connector
模块来实现连接。
首先,导入mysql.connector
模块:
import mysql.connector
接下来,使用connect()
函数来连接到MySQL数据库:
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
其中,host
参数指定数据库的主机名,user
参数指定数据库的用户名,password
参数指定数据库的密码,database
参数指定要使用的数据库。
若连接成功,则可以开始插入数据到MySQL数据库中。
插入单条数据
插入单条数据可以使用INSERT INTO
语句。以下是一段示例代码,展示了如何插入单条数据到MySQL数据库的表中:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
val = ("John", 18, "A")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
上述示例代码中,首先通过INSERT INTO
语句定义了要插入数据的表和字段。VALUES
后面的%s
是占位符,用于填充实际的数据。
接下来,创建一个元组val
来保存实际的数据。
然后,使用execute()
方法执行SQL语句,并将占位符替换为实际的数据。
最后,使用commit()
方法来保存更改,并打印插入数据的记录数。
插入多条数据
插入多条数据可以使用executemany()
方法。以下是一段示例代码,展示了如何插入多条数据到MySQL数据库的表中:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
val = [
("John", 18, "A"),
("Amy", 20, "B"),
("Tom", 19, "A")
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "records inserted.")
上述示例代码中,首先通过INSERT INTO
语句定义了要插入数据的表和字段。
然后,创建一个列表val
来保存多个元组,每个元组包含一个数据记录。
接下来,使用executemany()
方法执行SQL语句,将列表中的多个数据记录插入到数据库。
最后,使用commit()
方法来保存更改,并打印插入数据的记录数。
运行代码
要运行上述示例代码,需要确保已经创建了一个名为students
的表,该表包含name
、age
和grade
这三个字段。可以使用以下SQL语句来创建该表:
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
grade VARCHAR(255)
)
将上述SQL语句保存到一个名为create_table.sql
的文件中。
然后,使用以下代码将该SQL文件的内容读取并执行:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
mycursor = mydb.cursor()
with open('create_table.sql', 'r') as file:
sql = file.read()
mycursor.execute(sql)
通过以上代码,数据库将创建一个名为students
的表,准备好接受插入的数据。
然后,可以运行插入单条数据或插入多条数据的示例代码,并根据需要修改、调整代码中的数据和参数。
结束语
通过本文的介绍,我们了解了如何使用Python插入数据到MySQL数据库中。Python提供了简单且灵活的方式来操作MySQL数据库,使得数据的插入变得简单而高效。