5.3.2 INSERT
Insert IntoEn las secciones anteriores, hemos visto cómo obtener información de tablas. Pero ¿Cómo se ingresan estas filas de datos en estas tablas en primer lugar? Esto es lo que se trata en esta sección, que explica la instrucción INSERT, y en la siguiente sección, que explica la instrucción UPDATE. En SQL, hay fundamental y básicamente dos formas para INSÉRER datos en una tabla: Una es insertar una fila por vez, y la otra es insertar filas múltiples por vez. Primero observemos como podemos INSÉRER datos a través de una fila por vez: 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, Tabla Store_Information
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 día, este negocio tenía $900 dólares estadounidenses en ventas. Por lo tanto, utilizaremos la siguiente escritura SQL: INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
VALUES ('Los Angeles', 900, '10-Jan-1999'); El segundo tipo de INSERT INTO nos permite insertar filas múltiples en una tabla. A diferencia del ejemplo anterior, donde insertamos una única fila al especificar sus valores para todas las columnas, ahora utilizamos la instrucción SELECT para especificar los datos que deseamos insertar en la tabla. Si está pensando si esto significa que está utilizando información de otra tabla, está en lo correcto. La sintaxis es la siguiente: INSERT INTO "tabla1" ("columna1", "columna2", ...)
SELECT "columna3", "columna4", ... FROM "tabla2"; Note que esta es la forma más simple. La instrucción entera puede contener fácilmente cláusulas WHERE,GROUP BY, y HAVING, así como también uniones y alias. Entonces por ejemplo, si deseamos tener una tabla Store_Information, que recolecte la información de ventas para el año 1998, y ya conoce en donde reside la fuente de datos en tabala Sales_Information, ingresaremos: INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT Store_Name, Sales, Txn_Date FROM Sales_Information WHERE Year (Txn_Date) = 1998; Aquí hemos utilizado la sintaxis de Servidor SQL para extraer la información anual por medio de una fecha. Otras bases de datos relacionales pueden tener sintaxis diferentes. Por ejemplo, en Oracle, utilizará TO_CHAR (Txn_Date, 'yyyy') = 1998. |