sql >> Base de Datos >  >> RDS >> Mysql

Cómo insertar varias filas en MySQL

A veces, es posible que deba insertar varias filas de datos en MySQL. MySQL le permite ingresar múltiples filas de información con una sola consulta. En este artículo, veremos cómo insertar varias filas en MySQL.


Cómo insertar varias filas en MySQL

Estos son los pasos para insertar varias filas en MySQL. Hay varias formas de insertar varias filas en MySQL. Examinaremos cada uno de estos enfoques uno por uno.


Insertar múltiples filas usando INSERT

Digamos que tiene la siguiente tabla empleados (id, nombre, apellido) .

mysql> create table employees(id int,
       first_name varchar(255),
       last_name varchar(255));

Esta es la sintaxis para insertar múltiples filas usando la instrucción INSERT.

INSERT INTO table_name(column1, column2, ...),
    values(row1_value1, row1_value2,...),
          (row2_value1, row2_value2,...),
          ...

En la consulta anterior, debe mencionar el nombre de su tabla en la que debe insertar valores. A continuación, debe ingresar los valores de cada fila entre corchetes '()' separados por comas.

Aquí está la consulta SQL para insertar varias filas de información en empleados mesa.

mysql> insert into employees(id, first_name, last_name)
values(1,'John','Doe'),
(2,'Jane','Doe');

mysql> select * from employees;
+------+------------+-----------+
| id | first_name | last_name |
+------+------------+-----------+
| 1 | John | Doe |
| 2 | Jane | Doe |
+------+------------+-----------+


Insertar varias filas desde SELECCIONAR

También puede insertar varias filas de datos en su tabla utilizando el resultado de una consulta SELECT.

Esta es la sintaxis de consulta SQL para copiar datos de una tabla a otra usando la instrucción INSERT INTO.

INSERT INTO table1 (column1, column2, ...)
select column1, column2, ...
from table2

En la consulta anterior, seleccionamos la columna 1, la columna 2, … de la tabla 2 y las insertamos en la tabla 1.

Tenga en cuenta que las columnas utilizadas en la instrucción INSERT INTO y la instrucción SELECT deben tener el mismo nombre y orden. De lo contrario, recibirá un error.

Aquí está la consulta SQL para copiar datos de empleados tabla para empleados2 mesa.

mysql> insert into employees2(id, first_name, last_name)
       select id, first_name, last_name
       from employees;

mysql> select * from employees2;
+------+------------+-----------+
| id   | first_name | last_name |
+------+------------+-----------+
|    1 | John       | Doe       |
|    2 | Jane       | Doe       |
+------+------------+-----------+


Insertar varias filas sin duplicar

Si desea evitar automáticamente registros duplicados cuando inserta múltiples valores en su tabla, use la palabra clave IGNORE después de INSERT en su consulta SQL.

Sin embargo, esto solo funciona para tablas que tienen una clave principal.

Aquí hay un ejemplo,

mysql> create table employees(id int primary key,
       first_name varchar(255),
       last_name varchar(255));

mysql> insert ignore into employees(id, first_name, last_name)
            values(1,'John','Doe'),
            (1,'John','Doe');

mysql> select * from employees;
+----+------------+-----------+
| id | first_name | last_name |
+----+------------+-----------+
|  1 | John       | Doe       |
+----+------------+-----------+

Como puede ver, solo se insertó 1 fila en lugar de dos filas duplicadas.

Ubiq facilita la visualización de datos y la supervisión en paneles en tiempo real. Prueba Ubiq gratis.