MySQL实现一行插入多行数据(mysql一行插入多行)

MySQL实现一行插入多行数据

在日常数据库开发中,时常需要向MySQL数据库中插入多行数据。如果使用INSERT语句逐条插入,对于大量数据的情况下,效率非常低下。因此,需要使用MySQL的批量插入功能,将多行数据一次性插入到数据库当中。

在MySQL中,一行语句可以插入多行数据,方法如下:

INSERT INTO 表名 (字段1,字段2,字段3) VALUES (值1,值2,值3),(值4,值5,值6),(值7,值8,值9);

其中,INSERT INTO为插入语句,表名为要插入数据的表名,(字段1,字段2,字段3)为要插入的字段,VALUES后面的括号内为要插入的数据。在VALUES后面的括号中,每个值之间以逗号分隔,每个括号表示一行数据,因此可以一次性插入多行数据。

例如,以下代码实现了向student表中插入三条数据:

INSERT INTO student (name,age,gender) VALUES ('张三',18,'男'),('李四',19,'女'),('王五',20,'男');

在插入数据的同时,我们也可以使用Python中的MySQL驱动程序实现批量插入,代码如下:

import pymysql
# 连接MySQL数据库
conn = pymysql.connect(host='localhost',user='root',password='123456',database='testdb')
# 创建一个游标对象
cursor = conn.cursor()
# 批量插入语句
sql = "INSERT INTO student (name,age,gender) VALUES (%s,%s,%s)"
# 批量插入的数据
data = [
('张三',18,'男'),
('李四',19,'女'),
('王五',20,'男')
]
# 执行批量插入
cursor.executemany(sql,data)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()

以上代码中,我们定义了一个批量插入语句sql,同时定义了一个data列表,其中存储了要插入的多行数据。使用executemany函数执行批量插入,最后使用commit函数提交事务,关闭游标和连接。

总结

在实际开发中,插入多行数据是非常常见的需求。如果使用循环逐个插入,效率非常低下。因此,使用MySQL的批量插入功能,能够大幅提高插入数据的效率,同时加速了程序的执行速度。希望本文对大家有所帮助。


数据运维技术 » MySQL实现一行插入多行数据(mysql一行插入多行)