sql >> Base de Datos >  >> RDS >> Database

INSERCIÓN SQL para principiantes

Este artículo contiene SQL básico INSERT declaraciones que los principiantes pueden usar para insertar datos en sus tablas de base de datos.

Sintaxis básica

La sintaxis básica para insertar datos en SQL es la siguiente:

INSERT INTO TableName (Column1, Column2, Column3, ...)
VALUES (Value1, Value2, Value3, ...);

Dónde:

  • TableName es el nombre de la tabla en la que desea insertar datos
  • Column1 , etc. son los nombres de las columnas en las que desea insertar datos
  • Value1 , etc. son los valores que está insertando en esas columnas. El orden de estos valores debe coincidir con el orden en que enumeró las columnas (es decir, Value1 va a Column1 , etc.).

Puede omitir los nombres de las columnas si está insertando valores en todas las columnas. En ese caso, puede usar la siguiente sintaxis:

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

Tenga en cuenta que algunos DBMS usan una sintaxis más compleja que esta (es decir, ofrecen más opciones), pero esta es generalmente la sintaxis básica requerida para insertar datos en una tabla.

Insertar en todas las columnas

Aquí hay un ejemplo básico que inserta datos en todas las columnas de la tabla:

INSERT INTO PetTypes
VALUES( 1, 'Bird' );

En este caso, hay dos columnas en PetTypes y estamos insertando valores en ambas columnas, por lo tanto, no necesitamos especificar los nombres de las columnas.

La declaración anterior es lo mismo que hacer esto:

INSERT INTO PetTypes( PetTypeId, PetType )
VALUES( 1, 'Bird' );

Podemos verificar nuestros datos ejecutando un SELECT declaración.

SELECT * FROM PetTypes;

Resultado:

+-------------+-----------+
| PetTypeId   | PetType   |
|-------------+-----------|
| 1           | Bird      |
+-------------+-----------+

Insertar en algunas columnas

Aquí hay un ejemplo básico que inserta datos en solo algunas de las columnas de la tabla:

INSERT INTO Users( UserId, FirstName, LastName )
VALUES( 1, 'Lansell', 'Letterman' );

Esta tabla en realidad tiene cuatro columnas, pero solo insertamos datos en tres de esas columnas. Podemos ver eso cuando ejecutamos un SELECT declaración contra la tabla después de insertar los datos.

SELECT * FROM Users;

Resultado:

+----------+-------------+------------+-----------------------------+
| UserId   | FirstName   | LastName   | DateInserted                |
|----------+-------------+------------+-----------------------------|
| 1        | Lansell     | Letterman  | 2020-11-21 05:18:50.0029455 |
+----------+-------------+------------+-----------------------------+

Cómo insertar valores en el orden incorrecto

El método de lista de columnas le permite insertar datos que no están en el mismo orden:

INSERT INTO Users( LastName, FirstName, UserId )
VALUES( 'Pitt', 'Bart', 2 );

En este ejemplo, he reorganizado el orden de las columnas y sus respectivos valores. Afortunadamente, la lista de columnas proporciona al DBMS una guía sobre dónde debe insertarse cada valor.

Ahora, si seleccionamos nuestros datos, veremos que se han insertado en las columnas correctas.

SELECT * FROM Users;

Resultado:

+----------+-------------+------------+-----------------------------+
| UserId   | FirstName   | LastName   | DateInserted                |
|----------+-------------+------------+-----------------------------|
| 1        | Lansell     | Letterman  | 2020-11-21 05:18:50.0029455 |
| 2        | Bart        | Pitt       | 2020-11-21 05:30:07.4456867 |
+----------+-------------+------------+-----------------------------+

Insertar el resultado de una consulta

También es posible insertar el conjunto de resultados de una consulta en una tabla. Hay un par de enfoques que puede tomar con esto.

  • Utilice INSERT INTO... SELECT declaración. En este caso, primero debe crear la tabla, antes de insertar un conjunto de resultados de consulta en ella.
  • Utilice la instrucción CREATE TABLE... AS SELECT. Este método crea automáticamente una nueva tabla basada en el conjunto de resultados de la consulta y luego inserta esos resultados en la tabla. Aunque este método se ajusta al estándar SQL, no es compatible con todos los DBMS.
  • Use el SELECT INTO declaración. Esto es similar a la opción anterior. Crea automáticamente una nueva tabla basada en el conjunto de resultados de la consulta y luego inserta esos resultados en la tabla. Si el método anterior (CREATE TABLE ... AS SELECT ) no es compatible con su DBMS, pruebe este método.