Python MySQL - 插入数据
您可以使用 INSERT INTO 语句向现有的 MySQL 表添加新行。在此,您需要指定表的名称、列名和值(与列名的顺序相同)。
语法
以下是 MySQL 的 INSERT INTO 语句的语法。
INSERT INTO TABLE_NAME (column1, column2,column3,...columnN) VALUES (value1, value2, value3,...valueN);
示例
以下查询将记录插入名为 EMPLOYEE 的表中。
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
Mac', 'Mohan', 20, 'M', 2000
);
您可以使用 SELECT 语句验证插入操作后的表记录,如下所示 −
mysql> select * from Employee; +------------+-----------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+-----------+------+------+--------+ | Mac | Mohan | 20 | M | 2000 | +------------+-----------+------+------+--------+ 1 row in set (0.00 sec)
不必总是指定列的名称,如果您按照与表列相同的顺序传递记录的值,则可以执行不带列名的 SELECT 语句,如下所示 −
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
使用 python 在 MySQL 表中插入数据
execute() 方法(在游标对象上调用)接受查询作为参数并执行给定的查询。要插入数据,您需要将 MySQL INSERT 语句作为参数传递给它。
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
使用 python 将数据插入 MySQL 中的表中 −
导入 mysql.connector 包。
使用 mysql.connector.connect() 方法创建连接对象,将用户名、密码、主机(可选默认值:localhost)和数据库(可选)作为参数传递给它。
通过在上面创建的连接对象上调用 cursor() 方法创建游标对象
然后,通过将 INSERT 语句作为参数传递给 execute() 方法执行该语句。
示例
以下示例执行 SQL INSERT 语句以将记录插入EMPLOYEE 表 −
import mysql.connector
#建立连接
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb')
#使用 cursor() 方法创建游标对象
cursor = conn.cursor()
# 准备 SQL 查询以将记录插入数据库。
sql = """INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 执行 SQL 命令
cursor.execute(sql)
# 在数据库中提交你的更改
conn.commit()
except:
# 出现错误时回滚
conn.rollback()
# 关闭连接
conn.close()
动态插入值
您还可以在 MySQL 的 INSERT 查询中使用"%s"代替值,并将值作为列表传递给它们,如下所示 −
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
示例
以下示例动态地将一条记录插入到 Employee 表中。
import mysql.connector
#建立连接
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb')
#使用 cursor() 方法创建游标对象
cursor = conn.cursor()
# 准备 SQL 查询以将记录插入数据库。
insert_stmt = (
"INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)"
"VALUES (%s, %s, %s, %s, %s)"
)
data = ('Ramya', 'Ramapriya', 25, 'F', 5000)
try:
# 执行 SQL 命令
cursor.execute(insert_stmt, data)
# 在数据库中提交你的更改
conn.commit()
except:
# 出现错误时回滚
conn.rollback()
print("Data inserted")
# 关闭连接
conn.close()
输出
Data inserted

