Video Tutorial 6 SQL. Instrucciones INSERT INTO/INSERT INTO SELECT con MySql Workbench

Sentencia SQL INSERT INTO

La sentencia INSERT INTO se utiliza para insertar nuevos registros a una tabla

Sintaxis SQL INSERT INTO

Se puede escribir la sentencia INSERT INTO de dos maneras.

La primera forma no especifica los nombres de las columnas en las que se inserta los datos, sólo se especifican los valores:

INSERT INTO table_name
VALUES (value1,value2,value3,...);
    

La segunda forma especifica tanto los nombres de las columnas como los valores a insertar;

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

EJEMPLO SQL INSERT INTO

Insertamos dos nuevos valores en una nueva tabla "publisher2";

INSERT INTO eli.publisher2 (name, phone) VALUES ('New Store', '555 666');
A continuación vemos la tabla con los datos insertados después de la operación SQL INSERT INTO;

Con SQL, podemos copiar información de una tabla a otra.

Sentencia SQL INSERT INTO SELECT

La sentencia INSERT INTO SELECT selecciona datos de una tabla y los inserta en otra tabla ya existente. Los registros ya existentes de la tabla destino, no se ven afectadas.

Sintaxis SQL INSERT INTO SELECT

Podemos copiar todas los registros de una tabla a otra ya existente:

INSERT INTO table2
SELECT * FROM table1;

O podemos copiar de una tabla a otra, solamente las columnas que queremos:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

Ejemplo SQL INSERT INTO SELECT

Vamos a copiar los valores de las columnas "name" y "phone" desde la tabla "publisher" a la tabla "publisher2";

INSERT INTO eli.publisher2 (name, phone) SELECT name, phone from eli.publisher;

A continuación podemos ver los datos en nuestra tabla después de la operación INSERT INTO SELECT;


Nota: Tanto en el caso de la sentencia INSERT INTO como de la sentencia INSERT INTO SELECT, no es necesario escribir las columnas en la consulta SQL, cuando los valores coincidan en tipo y tamaño con el perfil de la columna donde van a ser insertados;

INSERT INTO eli.publisher2 VALUES (4, 'Old store', '555 999');
<< Anterior Siguiente >>