Академический Документы
Профессиональный Документы
Культура Документы
o Operaciones de Actualizacin:
INSERT - para insertar datos a una tabla.
DELETE - elimina todos los registros de la tabla; no borra los espacios asignados
a los registros.
Operaciones de Actualizacin
Sintaxis para la insercin:
INSERT INTO <nombre tabla> [(columna [, columna]....)] VALUES < (valor [, valor].....)
La lista de campos a rellenar se indica si no queremos rellenar todos los campos. Los
campos no rellenados explcitamente con la orden INSERT, se rellenan con su valor por
defecto (DEFAULT) o bien con NULL si no se indic valor alguno. Si algn campo tiene
restriccin de obligatoriedad (NOT NULL), ocurrir un error si no rellenamos el campo con
algn valor.
Ejemplo 1:
INSERT INTO Sitios (codigo, nombre, sitiosreferenciadopor) VALUES (1004,'Blivar',100);
O lo que es lo mismo:
INSERT INTO sitios VALUES (1004,'Blivar', 100);
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
Ejemplo 2:
INSERT INTO clientes VALUES ('11111111','Pedro','Gutirrez', 'Crespo', DEFAULT, NULL);
O lo que es lo mismo:
INSERT INTO clientes (dni, nombre, apellido1, apellido2) VALUES ('11111111','Pedro',
'Gutirrez', 'Crespo');
Operaciones de Actualizacin
Sintaxis de la modificacin
Se modifican las columnas indicadas en el apartado SET con los valores indicados. La
clusula WHERE permite especificar qu registros sern modificados.
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
Ejemplo 1:
UPDATE sitios SET nombre = 'Popayn'
WHERE cdigo = 1001;
Ejemplo 2:
UPDATE ciudad set iddepartamento = 19
WHERE idciudad in (76001, 76520);
Ejemplo 3:
Actualiza la provincia de los clientes de Orense para que aparezca como Ourense.
UPDATE clientes SET provincia='Ourense'
WHERE provincia='Orense';
Ejemplo 4:
Incrementa los precios en un 16%. La expresin para el valor puede ser todo lo compleja
que se desee.
UPDATE productos SET precio=precio*1.16;
Ejemplo 5:
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
La instruccin DELETE elimina todos los registros de la tabla, pero con la condicin WHERE
podemos eliminar un registro especfico.
Ejemplo 1:
DELETE FROM sitios WHERE cdigo = 100103;
Ejemplo 2:
DELETE FROM Persona WHERE Estado = Activo;
SELECT:
Corresponde a la operacin de Proyeccin.
Permite listar los atributos que se desean en el resultado de la consulta. La clusula SELECT
va seguida de la descripcin de lo que se desea ver, es decir, de los nombres de las
columnas que quieres que se muestren separadas por comas simples (" , ").
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
FROM:
Especifica los nombres de la(s) tabla(s) de donde los datos sern seleccionados.
Cuando son varias tablas las que aparecen en el FROM el sistema ejecuta una operacin
de Producto Cartesiano o de JOIN.
WHERE:
Corresponde a la operacin de Seleccin. La clusula WHERE seguida de un criterio de
seleccin o condicin. Esta parte es opcional.
La condicin se hace sobre los atributos de las tablas del FROM.
ORDER BY:
Clusula ORDER BY va seguida por un criterio de ordenacin. Esta parte es opcional.
Sintaxis de la consulta:
Ejemplo:
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
Ejemplo:
USO DE COUNT:
Permite contar los registros existentes en la columna segn un atributo determinado.
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
Debes saber que es posible ordenar por ms de una columna. Es ms, puedes ordenar no
solo por columnas sino a travs de una expresin creada con columnas, una constante
(aunque no tendra mucho sentido) o funciones SQL.
Podemos ver cmo funciona en el siguiente ejemplo, en el que preguntamos por los
distintos oficios de nuestros empleados.
SELECT oficio
FROM emp;
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
La sintaxis es la siguiente:
SELECT {* | {columna,}}
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
FROM {tabla,}
WHERE condicin
GROUP BY {columna ,}
HAVING condicin
En la clusula GROUP BY se colocan las columnas por las que vamos a agrupar. Y en la
clusula HAVING se especifica la condicin que han de cumplir los grupos para pasar al
resultado.
Ejemplo:
SELECT COUNT (nombre), oficio
FROM emp
GROUP BY oficio;
Ejemplo 2:
SELECT MAX (SALDO)
FROM USUARIO;
Teniendo la tabla:
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
La respuesta ser:
Ejemplo:
SELECT PROVINCIA, SUM (CREDITO)
FROM USUARIOS
GROUP BY PROVINCIA;
La condicin LIKE se puede utilizar en cualquier declaracin de SQL vlida - Select, Insert,
Update, o Delete.
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
Obtenemos aquellos apellidos que empiezan por "A" y tiene una "o" en su
interior:
SELECT APELLIDO
FROM JUGADORES
WHERE APELLDIOS LIKE 'A%O%';
Para obtener todos los clientes que su nombre contenga los caracteres 'to'.
SELECT * FROM clientes
WHERE nombre_ciente like '%to%';
Para devolver todos los cliente que su nombre empiece por 'Jua' y que el cuarto
caracter sea cualquiera.
SELECT * FROM clientes
WHERE nombre_codigo_cliente like 'Jua_';
SALIDA DE DATOS:
Utilizando expresiones con operadores es posible obtener salidas en las cuales una
columna sea el resultado de un clculo y no un campo de una tabla.
SELECT SALARIO*1,05
FROM EMPLEADOS
WHERE SALARIO<=1000;
Cuando una expresin aritmtica se calcula sobre valores NULL, el resultado es el propio
valor NULL. Para concatenar cadenas de caracteres existe el operador de concatenacin ("
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
|| "). Oracle puede convertir automticamente valores numricos a cadenas para una
concatenacin.
En la tabla EMPLEADOS tenemos separados en dos campos el primer y segundo apellido
de los empleados, si necesitramos mostrarlos juntos podramos crear la siguiente
consulta:
SELECT empleado_dni
FROM HISTORIAL_SALARIAL
WHERE salario<=800 OR salario>2000;
Utilizando las tablas y datos de la empresa JuegosCA, vamos a realizar una consulta donde
obtengamos todos nombres de trabajos menos el de contable.
SELECT NOMBRE_TRAB
FROM TRABAJOS
WHERE NOMBRE_TRAB NOT IN ('CONTABLE');
Seleccionar a los clientes cuyo nmero de cliente est contenido entre el rango 1309 y
1950.
13
Universidad del Cauca Modelamiento y Diseo de Bases de Datos
PRACTICA:
Teniendo en cuenta las siguientes tablas:
Se deben realizar las sentencias requeridas para cada uno de los siguientes puntos.
13