SQL INSERT: inserte una o más filas en una tabla

Resumen: en este tutorial, aprenderá cómo usar la instrucción SQL INSERT para insertar datos en tablas.

La instrucción INSERT inserta una o más filas en una tabla. La instrucción INSERT a veces se denomina instrucción INSERT INTO.

Instrucción SQL INSERT: inserte una fila en una tabla

A continuación se ilustra la INSERT que inserta una sola fila en una tabla existente.

1
2

INSERT INTO tabla (columna1, columna2, …)
VALORES (valor1, valor2, …);

Para insertar una fila en una tabla, debe especifique tres cosas:

  • Primero, la tabla, en la que desea insertar una nueva fila, en la INSERT INTO cláusula.
  • Segundo, una lista de columnas separadas por comas en la tabla entre paréntesis.
  • En tercer lugar, una lista de valores separados por comas rodeados por paréntesis en VALUES cláusula.

La lista de columnas debe tener el mismo número de elementos que la lista de valores o el motor de la base de datos emitirá un error.

Echemos un vistazo en la siguiente shippers tabla:


La siguiente INSERT inserta una nueva fila en la shippers tabla:

1
2

INSERT INTO remitentes (nombre de la empresa, teléfono)
VALUES («Alliance Shippers», «1-800-222-0451»);

Dos constantes, "Alliance Shippers" y "1-800-222-0451" se especifican en la cláusula VALUES. El motor de la base de datos los insertó en las columnas companyname y phone respectivamente.

Después de ejecutar la instrucción, el servidor de la base de datos devuelve un mensaje para indicar el número de filas afectadas. En este caso, recibimos un mensaje «1 fila afectada» informada de que una nueva fila se ha insertado correctamente.

Observe que no especificamos el shipperID columna en la lista de columnas debido a que la columna shipperID es una columna AUTO INCREMENT, el motor de la base de datos genera la siguiente secuencia automáticamente cada vez que una se inserta en la tabla.

Para ayudarlo a escribir menos código, SQL proporciona una forma más corta de la instrucción INSERT de la siguiente manera:

1
2

INSERT INTO table
VALUES (value1, value2, …)

En este formulario, la lista de valores debe tener el mismo orden que la lista de columnas en la tabla. Si usa este formulario de , debe proporcionar valores para todas las columnas excepto la columna AUTO INCREMENT.

Es una buena práctica utilizar los nombres de columna en el INSERT declaración para facilitar el mantenimiento del código.

La siguiente INSERT tiene el mismo efecto que la arriba:

1
2

INSERT INTO shippers
VALUES (» Alliance Shippers «,» 1-800-222-0451 «);

Instrucción SQL INSERT: inserta varias filas en una tabla

La instrucción INSERT también le permite insertar varias filas en una tabla usando una sola instrucción como la siguiente:

1
2
3
4

INSERT INTO nombre_tabla (columna1, columna2…)
VALORES (valor1, valor2,…),
(valor1, valor2,…) ,

En este formulario, debe proporcionar varias listas de valores, cada lista está separada por una coma.

La siguiente instrucción INSERT inserta dos filas en la shippers tabla:

1
2
3

INSERT INTO shippers (companyName, phone)
VALUES («UPS», «1-800-782-7892»),
(«DHL», «1-800-225-5345»)

SQL Instrucción INSERT: copia los datos de la tabla

En lugar de especificar una lista de valores, puedes usar una instrucción SELECT para seleccionar valores de otra tabla y proporcionarlos al INSERT declaración. Esto le permite copiar datos de una tabla a otra.

La siguiente declaración ilustra cómo copiar datos de another_table a table:

1
2
3
4
5
6
7

INSERT INTO table (column1, column2, …)
SELECT
column1, column2, …
FROM
otra_tabla
DONDE
condición

La lista de columnas en la cláusula SELECT debe corresponder a la lista de columnas en la INSERT INTO cláusula. Si desea copiar solo datos parciales, debe especificar una condición en la cláusula WHERE.

Suponga que tiene una tabla temporal llamada shippers_tmp que tiene la misma estructura como la shippers tabla. Para copiar datos de la tabla shippers a la tabla shippers_tmp, utilice la siguiente declaración:

1
2
3
4
5

INSERT INTO shippers_tmp (shipperid, name, phone)
SELECT
shipperid, companyName, teléfono
DE
remitentes

En este tutorial, ha aprendido a usar la instrucción INSERT para insertar una o más filas en una tabla. Además, también aprendió a copiar los datos de una tabla a otra usando la instrucción INSERT SELECT INTO.

  • ¿Fue este tutorial útil?
  • Sí No

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *