2. Sentencias para modificar datos. 1. Sentencia para borrar filas:DELETE. 2. Diferencia entre DELETE y DROP. 3. Sentencia para modificar filas ya existentes:UPDATE. 4. Diferencia entre UPDATE Y ALTER. 5. Ejemplos.
3. Sentencias para modificar datos. 1. Sentencia para borrar filas: DELETE La sentencia DELETE permite borrar filas de una tabla. DELETE FROM nombreTabla [nombre-local] [WHERE predicado] nombreTabla es el nombre de la tabla en la que se quieren borrar filas. nombre-local es el nombre local que le queramos dar a la tabla. Es opcional. predicado es una condición que queremos que cumplan las filas que deseamos eliminar.
4. Sentencias para modificar datos: DELETE. 2. ¿Cuál es la diferencia entre DELETE Y DROP? DELETE elimina el contenido de la tabla, es decir, las filas que la tabla contiene, mientras que DROP elimina el continente de la tabla, es decir, la estructura de ésta. DELETE FROM TEMPLE -> Borra todas las filas de la tabla TEMPLE TABLA TEMPLE TABLA TEMPLE Se han eliminado los datos!!! NumEmp NumDpto Extfno nomEm 110 121 350 Cesar 120 112 840 Mario 130 112 810 Luciano 140 121 340 Julio 150 111 740 Aureo NumEmp NumDpto Extfno nomEm
5. Sentencias para modificar datos. TABLA TEMPLE LA TABLA TEMPLE NO EXISTE EN LA BD. LA HEMOS ELIMINADO!!! Si en vez de hacer un DELETE sobre la tabla ejecutamos un DROP. El resultado es el siguiente: DROP TEMPLE -> Elimina la estructura de la tabla. NumEmp NumDpto Extfno nomEm 110 121 350 Cesar 120 112 840 Mario 130 112 810 Luciano 140 121 340 Julio 150 111 740 Aureo
6. Sentencia para modificar datos. Si omitimos la cláusula WHERE se elimina el contenido de toda la tabla. Ejemplo 1: Borrar de la tabla de Empleados a Cornelio Sanz. DELETE FROM TEMPLE WHERE NOMEM = ‘SANZ, CORNELIO’ Cuando eliminamos filas tenemos que tener en cuenta que el predicado es el adecuado, si existen más de un empleado con ese nombre los borraremos todos, por eso sería más correcto eliminar por el número de empleado. DELETE FROM TEMPLE WHERE NUMEM = 320
7. Sentencia para modificar datos. Ejemplo 2: Borrar de la tabla TEMPLE las filas de los empleados cuyo salario supera los 3000 euros. DELETE FROM TEMPLE WHERE SALAR > 3000 Ejemplo 3: Borrar de la tabla TEMPLE las filas de los empleados cuyo salario esté comprendido entre los 3500 y los 4000 euros. DELETE FROM TEMPLE WHERE SALAR > 3500 AND SALAR < 4000
8. Sentencia para modificar datos. La sentencia UPDATE permite modificar o actualizar las filas de una tabla. Se pueden actualizar parte o todas las columnas de las filas, al contrario que en el borrado que se debe hacer por filas completas. UPDATE tabla [nombre-local] SET col1 = expresion1 [,col2 =expresion2]... [WHERE predicado] Esta sentencia actualiza todas las filas de la tabla mencionada detrás del UPDATE que cumplan la condición expresada en el predicado, modificando las columnas que se mencionen en la cláusula SET. Si se omite la cláusula WHERE se actualizan todas las filas de la tabla.
9. Sentencia para modificar datos. Diferencia entre UPDATE Y ALTER UPDATE: Actualiza el contenido de las columnas que indiquemos de una tabla ALTER: Actualiza la estructura de la tabla, añadiendo campos nuevos, tipos de datos, etc. UPDATE TEMPLE SET NUMEM = 110 TABLA TEMPLE TABLA TEMPLE Se ha actualizado la columna NUMEM con el valor 110 NumEmp NumDpto Extfno nomEm 110 121 350 Cesar 120 112 840 Mario 130 112 810 Luciano 140 121 340 Julio 150 111 740 Aureo NumEmp NumDpto Extfno nomEm 110 121 350 Cesar 110 112 840 Mario 110 112 810 Luciano 110 121 340 Julio 110 111 740 Aureo
10. Sentencia para modificar datos. Diferencia entre UPDATE Y ALTER ALTER TABLE TEMPLE ADD (NUEVO VARCHAR) TABLA TEMPLE TABLA TEMPLE Hemos añadido una columna nueva. NumEmp NumDpto Extfno nomEm 110 121 350 Cesar 120 112 840 Mario 130 112 810 Luciano 140 121 340 Julio 150 111 740 Aureo NumEmp NumDpto Extfno nomEm NUEVO 110 121 350 Cesar 120 112 840 Mario 130 112 810 Luciano 140 121 340 Julio 150 111 740 Aureo 110 121 350 Cesar
11. Sentencia para modificar datos. Ejemplo 1: Cambiar la fecha de ingreso de Antonio López poniendo el día de hoy. UPDATE TEMPLE SET FECIN = CURRENT DATE WHERE NOMEM = ‘LOPEZ, ANTONIO’ Para evitar que se actualice más de un empleado es mejor realizar el UPDATE por el número de empleado. UPDATE TEMPLE SET FECIN = CURRENT DATE WHERE NUMEM = 260
12. Sentencia para modificar datos. Ejemplo 2: Honoria Vázquez deja de ser vendedora y pasa a un puesto de gestión en el mismo departamento. Su sueldo ha aumentado a 3100 y ya no recibirá comisiones. Incorporar estos cambios a la tabla de empleados. UPDATE TEMPLE SET SALAR = 3100, COMIS =NULL WHERE NUMEM = 500 Ejemplo 3: Sumar 1000 a todas las extensiones telefónicas de los empleados. UPDATE TEMPLE SET EXTEL = EXTEL +1000