dml
DESCRIPTION
dml ufgTRANSCRIPT
-
Data Manipulation Language (DML) Lenguaje de Manipulacin de Datos
Diseo de Base de DatosIng. Luis Reyes
-
Transacciones de la Base de datos
Proporcionan mayor flexibilidad y controlcuando los datos cambian y ello asegura la consistencia de los datos en el caso de un fallo en el proceso del usuario o del sistema.
Las transacciones consisten de sentencias DML que componen un cambio consistente en los datos.
-
DML
Se utiliza para:
Agregar, actualizar o eliminar datos de una base de datos.
Cuando algo impide que una de las sentencias en la transaccin sea ejecutada, las otras sentencias de la transaccin pueden ser desechadas.
-
Errores comunes al insertar datos
Olvidar valores obligatorios para columnas que no aceptan valores nulos
Duplicar valores violando reglas de valores nicos
Infringir reglas de integridad de llaves forneas
Romper reglas de integridad de tipo CHECK o verificacin
Incompatibilidad en tipos de datos
Valores ms grandes que los especificados para la columna
-
Agregar
Agregar una fila (registro) a una tabla:INSERT INTO table [(column [, column ])]VALUES (value [, value.]);
Ejemplo:INSERT INTO agenda(id_ag, nombre, direccion);VALUES (34, Luis Alejandro, 7 Sur 234);
INSERT INTO `biblio`.`libros` (`id_l` ,`titulo` ,`autor` ,`editorial` , `seccion` )VALUES ('1', 'Clculo Integral', 'Leithold', 'Mc Graw Hill', 'Matemticas'), ('2', 'Algebra', 'Baldor', 'Prentice Hall', 'Matemticas');
-
Copiar filas de otras tablas
Se copian los datos de una tabla existente utilizando una subconsulta
INSERT INTO ALUMNO(id_al, nombre, direccion)SELECT id_g, nombre, direccionFROM GENTEwhere edad>15;
Si se van a copiar TODASINSERT INTO ALUMNOSELECT *FROM GENTE
-
Actualizar: Cambiar datos en una tabla
UPDATE requi
SET cantidad = 3, precio = 1200
WHERE depto=1;
Actualizar filas basado en otra tabla
UPDATE copiaEmpleado
SET id_dep = (SELECT id_dep FROM empleado
WHERE id_emp=10)
WHERE id_trab =20
-
Borrar filas de una tabla
DELETE FROM depto
WHERE nombre_depto=Academico;
Basado en otra tabla
DELETE FROM empleado
WHERE id_dep =(SELECT id_dep
FROM departamento
WHERE nombre_dep=Sistemas