Lección 5: Añadir

Para introducir nuestros datos debemos usar las palabras reservadas INSERT INTO seguido del nombre de la tabla, la palabra VALUES y los datos en paréntesis.

INSERT INTO [tabla] VALUES (valor1, valor2, ), (valor1, valor2, ), ;

Si necesitamos incluir el género flamenco deberíamos indicar las 2 columnas existentes en la tabla Genre (GenreId, Name).

 INSERT INTO Genre VALUES (NULL, 'Flamenco');

La palabra NULL es para indicar que no quiero introducir nada dentro de GenreId. Es una columna autoincremental (crece el número cada vez que añado una fila).

Toda tabla tiene una columna especial llamada Primary Key (Clave primaria). Es un número que va creciendo y sirve para diferenciar una fila de otra.

Varios datos

Si separo por comas los paréntesis puedo insertar todos los valores que necesite al mismo tiempo.

INSERT INTO Genre VALUES (NULL, 'Flamenco'), (NULL, 'Ska'), (NULL, 'Rock nacional');

Especificando columnas

Si mi tabla tiene muchas columnas, pongamos 20, puedo ser una tortura indicar que habrá en cada una. Por eso mismo SQL nos deja ser flexibles.

INSERT INTO [tabla] (columna1, columna2, ) VALUES (valor1, valor2, ), (valor1, valor2, ), ;

Pongamos el caso de la tabla Customer. Tiene 13 columnas.

  • CustomerId
  • FirstName
  • LastName
  • Company
  • Address

Si solo quiero añadir un cliente con su Nombre, Apellido y Email; lo debería declarar con las columnas que necesito después del nombre de la tabla.

INSERT INTO Customer (FirstName, LastName, Email) VALUES ('Mickey', 'Mouse', 'mickey@disney.com');

¿Quiero añadir muchos clientes a la vez en la misma sentencia? Separado por comas igual que antes.

INSERT INTO Customer (FirstName, LastName, Email) VALUES ('Mickey', 'Mouse', 'mickey@disney.com'), ('Pato', 'Donald', 'donald@disney.com'), ('Peter', 'pan', 'peter@disney.com');

4-1