mysql多行插入

mysql多行插入

mysql多行插入

在实际开发中,我们经常需要往数据库中插入多行数据。如果数据量比较大,一条一条地插入数据显然效率很低。这时就可以使用mysql的多行插入语法来一次性插入多行数据,提高效率。

使用INSERT INTO VALUES方式插入多行数据

使用INSERT INTO VALUES方式插入多行数据是一种常见的方法。语法如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES
(value1, value2, value3),
(value4, value5, value6),
...

其中,table_name是要插入数据的表名,column1, column2, column3, ...是要插入的列名,value1, value2, value3是要插入的值。

举个示例,假设我们有一个表users,包含id, name, age三个列,我们要往表中插入两条数据:

INSERT INTO users (name, age)
VALUES
('Alice', 25),
('Bob', 30);

上面的语句将会往users表中插入两条数据,一条是nameAliceage25,另一条是nameBobage30

使用INSERT INTO SELECT方式插入多行数据

除了使用VALUES方式插入数据,还可以使用INSERT INTO SELECT方式插入多行数据。语法如下:

INSERT INTO table_name (column1, column2, column3, ...)
SELECT value1, value2, value3
UNION
SELECT value4, value5, value6
...

其中,table_name是要插入数据的表名,column1, column2, column3, ...是要插入的列名,SELECT value1, value2, value3是要插入的值。

举个示例,假设我们有一个表students,包含name, score两个列,我们希望从另一个表temp_students中选择部分数据插入到students表中:

INSERT INTO students (name, score)
SELECT name, score
FROM temp_students
WHERE score > 60;

上面的语句将会从temp_students表中选择score大于60的数据,并插入到students表中。

使用LOAD DATA INFILE方式插入多行数据

除了上面两种方式,还可以使用LOAD DATA INFILE方式插入多行数据。这种方式通常用于从文件中导入大量数据。语法如下:

LOAD DATA INFILE 'file_name.txt'
INTO TABLE table_name
(column1, column2, column3, ...);

其中,file_name.txt是包含数据的文件名,table_name是要插入数据的表名,column1, column2, column3, ...是要插入的列名。

举个示例,假设我们有一个文件data.txt,内容如下:

Alice,25
Bob,30

我们想要将这些数据插入到users表中:

LOAD DATA INFILE 'data.txt'
INTO TABLE users
(name, age);

上面的语句将会将data.txt中的数据插入到users表中。

总结

本文详细介绍了mysql中插入多行数据的几种方法,包括使用INSERT INTO VALUES方式、INSERT INTO SELECT方式和LOAD DATA INFILE方式。根据实际情况选择合适的方式,可以提高数据插入的效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程