Sistema Base de Datos
Sesin N 08: Consultas de Actualizacin Insert-Update-Delete
Ing. Ivan Crispin Sanchez
Contenido
Repaso Insert: Sintaxis Ejemplos Ejercicios
Update: Sintaxis Ejemplos - Ejercicios
Delete : Sintaxis Ejemplos - Ejercicios
INSERT
INSERT INTO nombre-de-tabla nombre-de-vista (
,
nombre-de-columna )
VALUES
constante ) variable-enlazada palabra-del-sistema subselect
ADJUSTING nombre-del-cursor
* INSERT = Operacin de Insercin. Aade una o ms filas a una tabla
insert
La orden insert se usa para insertar o aadir una fila de datos en la tabla Formato:
insert into tablename (first_column, , last_column) values (first_value, , last_value); Ejemplo:
insert into empleado (nombre, apellido, edad, direccion, ciudad, pais) values (Juan, Garca, 45, c/ Soto, 12, Valladolid, Espaa);
SQL
INSERT
Sirve para anexar datos, esto es aadir una nueva fila con datos a determinada tabla
INSERT INTO Tabla-a-anexar (campos-de-la-tabla-a-rellenar) VALUES (valores con los que completar los campos); INSERT INTO SALARIO ( CA_PERSONAL, SUELDO, MES, AO) VALUES (30, 128000, "Diciembre", "2004);
INSERT
INSERT INTO AUTOR (cod_autor,nombre_autor, apellido_autor,nacionalidad) VALUES
("2","PEPE","MARTINEZ","RUSO")
Ejercicio
Inserta en la tabla de empleados los siguientes 3 registros y otros 3 ms inventados por los alumnos:
Juana Garca, Secretaria, 28, 19500.00 Pablo Garca, Programador, 32, 45300.00 Daniel Alvarez, Programador II, 45, 75020.00
Despus de insertarlos, escribe rdenes select para lo siguiente:
1. 2. 3. 4. 5. 6. 7. 8. Selecciona todas las columnas para todos los empleados de la tabla Selecciona todas las columnas para todos los que tengan un salario mayor de 30000 Selecciona nombre y apellido para todos los que tengan menos de 30 aos Selecciona nombre, apellido y salario para todos los que tengan la categora de Programador Selecciona todas las columnas para todos los que su apellido contenga ar Selecciona el nombre para todos los que su nombre sea igual a Pablo Selecciona todas las columnas para todos los que tengan ms de 80 aos Selecciona todas las columnas para todos los que su apellido termine en ez
SQL
UPDATE
UPDATE nombre-de-tabla nombre-de-vista nombre-de-correlacin
,
SET nombre-de-columna= expresin NULL
WHERE
condicin-de-bsqueda CURRENT OF nombre-de-cursor
CHECK EXISTS
* UPDATE = Operacin de modificacin. Modifica el valor de una o ms columnas de una tabla * CLAUSULA WHERE , WHERE CURRENT OF nombre de cursor
Update
La orden update se usa para actualizar o cambiar registros que cumplen un determinado criterio. Formato: update tablename set columname=newvalue *,nextcolumn=newvalue2+ where columname OPERATOR value *and|or column OPERATOR value+
Ejemplos: update agenda set codigo_postal=47 where prefijo=983 update agenda set apellido=Garca, prefijo=983 where apellido=Rodrguez update empleado set edad=edad+1 where nombre=Mara and apellido=Prez
UPDATE (ACTUALIZACINES)
Cambia el valor de una o varias celdas por un nuevo valor
UPDATE TABLA-A-ACTUALIZAR SET CAMPO-A-ACTUALIZAR=VALOR-NUEVO WHERE CAMPO-A-ACTUALIZAR=VALOR ANTIGUO
Ejemplo para actualizar la tabla Salario y poner en el campo CATEGORIA el valor jefe siempre que aparezca la palabra consejero
UPDATE SALARIO SET CATEGORIA = "jefe" WHERE CATEGORIA="consejero"
UPDATE
UPDATE autor SET autor.nacionalidad = escocesa WHERE autor.nacionalidad)=ruso
RESUMEN ACTUALIZACIN
UPDATE tabla SET campo=loquesea WHERE criterio; Si hay varias tablas:
UPDATE tabla1 INNER JOIN tabla2 ON tabla1.campo1=tabla2.campo2 SET campo=loquesea WHERE criterio
Ejercicio
Despus de cada update, ejecuta un select para verificar los cambios Realiza:
1. Juana Garca se acaba de casar con Benito Gonzlez. Ella ha solicitado que se cambie su apellido por Gonzlez 2. El cumpleaos de Daniel Alvarez es hoy; aade 1 a su edad 3. Todas las secretarias pasan a llamarse ahora Asistente administrativo 4. Todos los que ganan por debajo de 30000 reciben un incremento anual de 3500 5. Todos los que ganan por encima de 33500 reciben un incremento anual de 4500 6. Todos los de la categora Programador II son promocionados a Programador III 7. Todos los de la categora Programador son promocionados a Programador II
SQL
DELETE
DELETE FROM nombre-de-tabla nombre-de-vista nombre-de-correlacin
WHERE
condicin-de-bsqueda CURRENT OF nombre-de-cursor
* DELETE = Operacin de modificacin. Elimina una o ms filas de una tabla * CLAUSULA WHERE , WHERE CURRENT OF nombre de cursor
Delete
La orden delete se usa para borrar registros (o filas) de una tabla Formato:
delete from tablename where columname OPERATOR value *and|or column OPERATOR value+; Ejemplos:
delete from empleado; Se borran todos los registros! delete from empleado where apellido=Prez; delete from empleado where nombre=Juan or nombre=Luis;
SQL
DELETE (BORRAR)
Sirve para eliminar los registros que cumplan alguna condicin DELETE CAMPO-CUYO-VALOR-SE-QUIERE-BORRAR FROM TABLA-QUE-CONTIENE-EL-CAMPO WHERE CAMPO-CUYO-VALOR-SE-ELIMINA-SI-TIENE-CIERTO-VALOR=VALOR Por ejemplo para eliminar en la tabla salarios los registros relacionados con Ana Garca ser: DELETE SALARIO.* FROM PERSONAL INNER JOIN SALARIO ON PERSONAL.COD = SALARIO.CA_PERSONAL WHERE PERSONAL.NOMBRE="Garca, Ana O en la tabla autor: DELETE * FROM autor WHERE nacionalidad='escocesa
Ejercicios
Usa el comando select para verificar las operaciones de borrado Realiza estos 2, y despus, un borrado de todos los registros de la tabla
1. Juana Gonzlez ha cesado; elimina su registro de la tabla 2. Epoca de recorte de presupuesto. Elimina todos los empleados que estn ganando ms de 70000
Ejemplo de Select into
EJERCICIOS