P08 LBD Gca
P08 LBD Gca
P08 LBD Gca
Ingeniería en Computación
Introducción:
Lenguaje de manipulación de datos:
El lenguaje de manipulación de datos (DML) nos permite acceder, crear, modificar o eliminar
los datos de un esquema de base de datos. Las órdenes que se utilizan son: insertar
(INSERT), actualizar (UPDATE), borrar (DELETE) y seleccionar (SELECT) los datos en una
base de datos.
Una vez que se han creado las tablas, utilizamos el comando INSERT para agregar
información a las tablas, su sintaxis es la siguiente:
O bien,
En esta opción debemos tener cuidado de colocar los valores según el orden
correspondiente en la tabla. Los valores de tipo DATE o CHAR se deben encerrar entre
comillas simples. Los valores insertados deben ser de un tipo compatible con el de las
columnas de la tabla.
1
También se puede realizar un INSERT combinado con un SELECT
Se emplea para modificar los datos existentes en una tabla, su sintaxis es la siguiente:
Una expresión puede estar formada por una subconsulta SELECT entre paréntesis, cuyo resultado es
un único dato de una sola columna (un único valor simple). La lista de columnas está formada por
aquellas columnas a las cuales se les modificará su valor. Si se omite la cláusula WHERE entonces se
actualizan todos los datos de la tabla.
Para recuperar la información guardada en una base de datos utilizamos el comando SELECT. La
sintaxis de la orden SELECT consta básicamente de las cláusulas SELECT y FROM como obligatorias y
la cláusula WHERE como opcional, su sintaxis es la siguiente:
Cláusula FROM:
2
Permite indicar las tablas que contienen los datos.
Cláusula WHERE: Sirve para indicar la condición que deben cumplir las filas resultantes.
WHERE <condición>
Una condición está formada por una o varias expresiones condicionales conectadas por los
operadores lógicos AND, OR y NOT. Una expresión condicional tiene la forma siguiente:
Expresión de comparación
Objetivos:
El alumno comprenderá y confirmará el uso del lenguaje SQL para realizar la administración de los
datos empleando las instrucciones INSERT, UPDATE y DELETE. Comprenderá las principales
características de una transacción, comprobará y configurará los diferentes niveles de aislamiento
empleados por un RDBMS.
Desarrollo:
Código:
3
PATERNO VARCHAR(20),
MATERNO VARCHAR(20),
EDAD NUMBER(5),
SUELDO NUMBER(8,2)
);
4
insert into ADMINISTRATIVO values(7,'Medrano','Muñiz','Eyla
Natalia',22,19932);
insert into ADMINISTRATIVO
values(51,'Garcia','Ambrosio','Aldo',25,9759);
insert into ADMINISTRATIVO
values(48,'Garcia','Axinicuilteco','Karen Itzel',45,19330);
insert into ADMINISTRATIVO values(63,'Granados','Gomez','Miguel
Angel',15,24345);
insert into ADMINISTRATIVO values(94,'Mendoza','Jimenez','Daniel
Emiliano',45,33866);
insert into ADMINISTRATIVO values(74,'Mendoza','Montes','De Oca
Diego',37,34730);
insert into ADMINISTRATIVO values(43,'Olarte','Tomas','Kevin
Saul',33,28946);
insert into ADMINISTRATIVO values(49,'Olvera','Lopez','Jose
Manuel',27,24465);
insert into ADMINISTRATIVO values(65,'Pelcastre','Rangel','Cecilia
Jaqueline',29,14278);
insert into ADMINISTRATIVO
values(57,'Perez','Alvarez','Ulises',17,5731);
insert into ADMINISTRATIVO values(2,'Perez','Marquez','David
Andrawi',32,35627);
insert into ADMINISTRATIVO
values(38,'Perez','Salazar','Marco',20,18718);
insert into ADMINISTRATIVO values(99,'Ponce','Espino','Miguel
Angel',37,31652);
insert into ADMINISTRATIVO
values(77,'Rodriguez','Marcial','Marifer',22,37330);
insert into ADMINISTRATIVO values(62,'Rodriguez','Remigio','Luis
Pablo',30,7223);
insert into ADMINISTRATIVO values(90,'Rogel','Blanquet','Parada
Rainier',21,10999);
insert into ADMINISTRATIVO values(22,'Salazar','Salinas','Ithan
Yaxche',43,9416);
insert into ADMINISTRATIVO values(10,'Salinas','Aquino','Omar
Ivan',20,18338);
insert into ADMINISTRATIVO
values(69,'Sanchez','Romero','Diego',31,5256);
insert into ADMINISTRATIVO values(6,'Sanchez','Villegas','Marco
Jael',28,6166);
5
INSERT INTO JEFE (ID,NOMBRE,PATERNO,EDAD,SUELDO)--ESTOS SE PUEDEN
ACOMODAR EN CUALQUIER ORDEN
VALUES (102,'LUIS','ZUÑIGA',26,32000);-- ESTOS EN EL ORDEN
ANTERIOR
INSERT INTO JEFE(ID,PATERNO,EDAD,NOMBRE)
VALUES (103,'QUIROZ',21,'SUSANA');
UPDATE NOMBRE_TABLA
SET CAMPO = 'VALOR NUEVO'
WHERE CAMPO = 'VALOR DEL REGISTRO A CAMBIAR';
Actualizamos el campo materno de la tabla jefe dándole un valor donde se encuentre el id indicado:
UPDATE JEFE
SET MATERNO = 'SALGADO'-- ACTUALIZACIÓN DE UN CAMPO
WHERE ID = 102;
UPDATE JEFE
SET MATERNO = 'SOTO', SUELDO = 50000-- ACTUALIZA MÁS DE UN CAMPO
WHERE ID = 103;
UPDATE JEFE
SET MATERNO = 'FUNADO'
WHERE EDAD > 40 AND SUELDO > 20000;
select id
6
from jefe
minus
select id
from administrativo;
select nombre
from jefe
INTERSECT
select nombre
from administrativo;
Resultados:
- Creamos las dos tablas de jefe y de administrativo:
7
Fig. 1 Inserción de 5 valores.
8
Fig. 2 Tabla tras insertar los tres valores extra.
Tras hacer rollback los datos insertados en la tabla jefe vuelven a ser los cinco primeros que
se guardaron antes de hacer el commit.
- Creamos nuestro primer savepoint el cual tendrá nombre de “a”, e insertamos 3 valores más:
9
Fig. 4 Valores de la tabla tras primer savepoint.
- Creamos nuestro segundo savepoint que tendrá el nombre de “b” e insertamos 3 valores
más:
Fig. 5 Tabla con todos los valores insertados hasta después del segundo save point.
10
Fig. 6 Elementos en tabla jefe volviendo al primer savepoint.
Cuestionario:
1) DML:
UPDATE: Para actualizar los estados de una tabla existente es decir, cambiar los valores.
UPDATE table_name
SET column_name = value [, column_name = value]...
[ WHERE condition ];
2) TCL:
11
Conclusiones:
Se pudo comprobar la utilidad de DML en bases de datos pues te permite controlar más los errores
que puedan surgir en ciertos puntos mientras manejas tu base de datos, ya que puedes volver a
puntos anteriores en el codigo antes de que se generase algún error sin que esto repercuta de forma
permanente en tu código.
Referencias:
[1] 2 Day Developer’s Guide. (s. f.). Oracle Help Center.
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tdddg/dml-and-transactions.h
tml consultado el 10 de noviembre de 2022.
[2] http://www.tierradelazaro.com/wp-content/uploads/2016/12/DDL-DML-DCL-TCL.pdf
consultado el 10 de noviembre de 2022.
Índice:
Introducción: 1
Objetivos: 3
Desarrollo: 3
Resultados: 7
Cuestionario: 11
Conclusiones: 12
Referencias: 12
12