Você está na página 1de 3

ESCUELA DE INGENIERIA EN COMPUTACION

TECNICO EN INGENIERIA DE SISTEMAS INFORMATICOS


DISEO DE BASES DE DATOS

CLASE N 8

LENGUAJE DE MANIPULACION DE DATOS

INSTRUCCIN INSERT
La instruccin INSERT aade nuevas filas de datos a una tabla. Hay dos formas en
que se puede utilizar esta instruccin. La primera forma permite insertar una nica
fila en una tabla especificada y tiene la siguiente sintaxis:
INSERT INTO nombre-tabla[(Columnas)] VALUES (Valores-datos)
Tras la palabra VALUES y entre parntesis, se facilitarn tantos valores como
columnas existan en la tabla indicada y adems se deben indicar en el mismo orden
y del mismo tipo que los ocupados en la definicin de la tabla.
Ejemplo 1:
En este primer ejemplo se procede a aadir una fila a la tabla Libros que
cuenta con cuatro columnas segn la definicin de la tabla en un ejemplo
anterior.
INSERT INTO Libros VALUES
(1, 548-16546-945-0-1,Fundamentos de Bases de datos,3)
En el segundo ejemplo se va a introducir datos en dos columnas de las
que existen en la tabla, por lo cual es necesario especificar el nombre de
las columnas destino despus del nombre de la tabla. Cabe notar que el
resto de columnas de esa fila quedaran con el valor NULL, solo en el caso
de que no viole ninguna restriccin.
INSERT INTO Libros (IdLibro, ISBN) VALUES
(1, 548-16546-945-0-1)
La segunda forma de la instruccin INSERT permite copiar mltiples filas de una o
ms tablas en otra tabla y tiene el siguiente formato:
INSERT INTO nombre-tabla[(Columnas)]
SELECT
En esta se definen de la misma forma que el caso anterior en el que solo insertamos
una fila. La clusula SELECT puede ser cualquier instruccin SELECT valida. Las filas
que se insertan en la tabla son idnticas a la tabla de resultados producida por la
subseleccin.

INSTRUCCIN UPDATE
La instruccin UPDATE se utiliza para modificar contenido de las filas existentes.
UPDATE Tiene la siguiente sintaxis:
UPDATE Nombre-tabla
SET Columna1=valor1, Columna2=valor2 ...
Hay que tener en cuenta que si no se utiliza la clusula WHERE la actualizacin
afectar a la tabla completa.
Ejemplo:
El siguiente ejemplo asigna el valor de 85 al precio de todos los libros
existentes en la tabla libros.
UPDATE Libros SET Precio=85
Lo mejor sera que todas las sentencias de actualizacin sean siempre
condicionales tal como la que se muestra a continuacin:
UPDATE Libros
SET Precio=85
WHERE ISBN= 978-99923-901-7-7
INSTRUCCIN DELETE
El formato es el siguiente:
DELETE FROM Nombre-tabla
[WHERE condicin]
La clusula WHERE es opcional, si no se coloca en la instruccin DELETE todas las
filas de la tabla sern borradas. Esto no hace que se borre la propia tabla, para
realizar eso se ocupara DROP TABLE. Si se especifica una condicin, solo se borrarn
aquellas filas que satisfagan la condicin.
Ejemplo:
La consulta solo borrara el registro que satisfaga la condicin.
DELETE FROM Libros
WHERE IdLibro=1
Si se desea borrar todos los registros de la tabla utilizaramos la siguiente
condicin:
DELETE FROM Libros
EJERCICIOS PRCTICOS
Suponga que se aplican las siguientes operaciones de actualizacin
directamente sobre la base de datos EMPRESA. Analice todas las
restricciones de integridad y si se violan, encuentre la forma adecuada
para imponer cada una de las restricciones que se presentan.
1. Insertar el registro [943775543, Roberto, Morales,
21/06/1952, 25 Calle Oriente, Pasaje A, Col El Porvenir, Santa
Tecla, M, 1400, 888665555,1] en la tabla EMPLEADO.

2. Insertar el registro [4,ProductoA, Escaln] en la tabla


PROYECTO.
3. Insertar [Produccin, 2, 943775543, 01/10/1998] en
Departamento
4. Eliminar
los
registros
de
TRABAJA_EN
con
Id_Emp=987654321.
5. Eliminar el registro de PROYECTO con NombreProy =
ProductoX.
6. Modificar
Id_Jefe
y
Fecha_NCTO_Jefe
de
la
tabla
DEPARTAMENTO con NDepto=5, con los valores 123456789 y
01/10/1999 respectivamente.
7. Modificar el atributo ID_Superv de la tupla EMPLEADO con
ID_Emp =999887777 cambindolo a 943775543.
8. Modificar el atributo HORAS de la tupla TRABAJA_EN con
Id_Emp = 999887777 y NumProy = 10 cambindolo a 5.0.
INSTRUCCIN SELECT
La sintaxis ms sencilla de esta sentencia es la siguiente:
SELECT Columna1, Columna2, FROM Nombre-Tabla
Ejemplo:
En la siguiente consulta de ejemplo se retornara el ttulo y cdigo del
autor de todas las filas existentes en la tabla Libros. La clusula FROM
especifica la tabla o tablas que habr que usar.
SELECT Titulo, IdAutor FROM Libros
Si se desea obtener todas las columnas de la tabla, sin necesidad de
especificar el nombre de cada una, se puede realizar de la siguiente
manera:
SELECT * FROM Libros;
Existen algunas clusulas muy importantes dentro de la sentencia SELECT cuyo orden
no puede cambiarse, entre ellas tenemos FROM, WHERE, GROUP BY, HAVING y
ORDER BY; la mayora de estas las analizaremos ms adelante. Adems hay que
hacer notar algo, aunque no todas son necesariamente obligatorias que aparezcan,
las dos nicas obligatorias son SELECT y FROM.
ALIAS EN LA SENTENCIA SELECT
Cuando se consulta una base de datos, los nombres de las columnas se usan como
cabeceras. Si ste resulta demasiado largo o corto, puede cambiarse con la misma
sentencia SQL de consulta, creando un alias de columna como se muestra a
continuacin:
SELECT IdLibro, Titulo As Titulo de Libro
FROM Libros
Tambin existen alias de tablas, muy tiles para las sentencias SELECT al momento
de crear consultas normales o ms complejas.
SELECT E.Nombre, L.Titulo
FROM Editoriales E, Libros L
WHERE E.IDEditorial=L.CodEditorial