You are on page 1of 9

INSERT SQL

instruccin INSERT agrega una o ms registros a un solo cuadro en una base de datos relacional. Se puede insertar una fila por vez y la otra forma es insertar filas mltiples por vez

Para almacenar datos en una base de datos debemos insertar filas en las tablas. Para ellos SQL pone a nuestra disposicin la sentencia INSERT. Insercin de filas El proceso de insercin de filas consiste en aadir a una tabla una o ms filas y en cada fila todos o parte de sus campos. Podemos distinguir dos formas de insertar filas: Insercin individual de filas. Insercin mltiple de filas. La sintaxis de la sentencia INSERT es diferente segn cual sea nuestro propsito. Slo podremos omitir un campo al efectuar una insercin cuando este acepte valores nulos.

La sintaxis para insertar datos en una tabla mediante una fila por vez es la siguiente: INSERT INTO "nombre_tabla" ("columna1", "columna2", ...) VALUES ("valor1", "valor2", ...)

Suponiendo que tenemos una taba con la siguiente estructura,


Column Name store_name Sales Date Data Type char(50) float datetime

y ahora deseamos insertar una fila adicional en la tabla que represente los datos de ventas para Los ngeles el 10 de enero de 1999. En ese da, este negocio tena $900 dlares estadounidenses en ventas. Por lo tanto, utilizaremos la siguiente escritura SQL:

INSERT INTO Store_Information (store_name, Sales, Date) VALUES ('Los Angeles', 900, '10-Jan-1999') El segundo tipo de INSERT INTO nos permite insertar filas mltiples en una tabla. A diferencia del ejemplo anterior, donde insertamos una nica fila al especificar sus valores para todas las columnas, ahora utilizamos la instruccin SELECT para especificar los datos que deseamos insertar en la tabla. Si est pensando si esto significa que est utilizando informacin de otra tabla, est en lo correcto. La sintaxis es la siguiente:

INSERT INTO "tabla1" ("columna1", "columna2", ...) SELECT "columna3", "columna4", ... FROM "tabla2 Entonces por ejemplo, si deseamos tener una tabla Store_Information, que recolecte la informacin de ventas para el ao 1998, y ya conoce en donde reside la fuente de datos en tabala Sales_Information table, ingresaremos: INSERT INTO Store_Information (store_name, Sales, Date) SELECT store_name, Sales, Date FROM Sales_Information WHERE Year(Date) = 1998

Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le ser asignado el valor por omisin. Los valores especificados (o implcitos) por la sentencia INSERT debern satisfacer todas las restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y se devuelve un error.

You might also like