Inserción de datos


Para almacenar datos en una base de datos debemos insertar filas en las tablas. Para ellos SQL pone a nuestra disposición la sentencia INSERT – Inserción de filas. El proceso de inserción de filas consiste en añadir a una tabla una o más filas y en cada fila todos o parte de sus campos. Podemos distinguir dos formas de insertar filas: Inserción individual de filas o Inserción múltiple de filas.
La sintaxis de la sentencia INSERT es diferente según cuál sea nuestro propósito.
Sólo podremos omitir un campo al efectuar una inserción cuando este acepte valores nulos.

Inserción individual de filas
Para realizar la inserción individual de filas SQL posee la instrucción INSERT INTO.
La inserción individual de filas es la que más comúnmente utilizaremos.
Su sintaxis es la siguiente:

INSERT INTO <nombre_tabla> [(<campo1>[,<campo2>,…])]
values (<valor1>,<valor2>,…);

Como se puede observar, la sentencia tiene dos partes claramente diferenciadas, por un lado la propia INSERT INTO seguida de la lista de campos en los que queremos insertar los datos, y por otro la lista de valores que queremos insertar en los campos.
La mejor forma de ver esto es a través de un ejemplo.

INSERT INTO Coches (matricula, marca, modelo, color, numero_kilometros)
values (‘M1111CA’, ‘RENAULT’, ‘MEGANE TR100’, ‘NEGRO DIAMANTE’, 78000);

Nota: Hemos utilizado el color rojo para los datos de tipo texto, entrecomillados con la comilla simple, y el azul para
los numericos.

Con esta sentencia INSERT creamos un registro en la tabla Coches con los valores especificados, es decir, la matricula tendrá el valor M-1111-CA, la marca será RENAULT y así sucesivamente.
¿Que ocurriría si ya existiera un coche con la matricula M-1111-CA? Se producirá un error, porque hemos definido la clave primaria en el campo matricula, y como hemos visto la clave primaria debe ser única.
Si omitimos algún par » campo-valor » en la sentencia INSERT, pueden ocurrir varias cosas:
Que se produzca un error , si el campo no acepta valores nulos. 
Que se grave el registro y se deje nulo el campo, cuando el campo acepte valores nulos. 
Que se grave el registro y se tome el valor por defecto, cuando el campo tenga definido un valor por defecto.
Que hacer en cada momento dependerá del programa.

Inserción múltiple de filas
La sentencia INSERT permite también insertar varios registros en una tabla.
Pare ello se utiliza una combinación de la sentencia INSERT junto a una sentencia SELECT.
El resultado es que se insertan todos los registros devueltos por la consulta.

INSERT INTO <nombre_tabla> [(<campo1>[,<campo2>,…])]
SELECT [(<campo1>[,<campo2>,…])]
FROM<nombre_tabla_origen>;

Para poder utilizar la inserción multiple de filas se deben cumplir las siguientes normas:
La lista de campos de las sentencias insert y select deben coincidir en número y tipo de datos.
Ninguna de las filas devueltas por la consulta debe infringir las reglas de integridad de la tabla en la que vayamos a realizar la inserción. 

Deja un comentario

Esta página web utiliza cookies    Más información
Privacidad