Publicado el 25 de Diciembre del 2018
1.016 visualizaciones desde el 25 de Diciembre del 2018
212,5 KB
28 paginas
Creado hace 12a (03/05/2012)
SQL
Modificaciones a la BD
Amparo López Gaona
Posgrado en Ciencia e Ingeniería de la Computación
Mayo 2012
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Modificación de Datos
Las instrucciones de SQL para modificación de los datos en una BD se
clasifican en tres tipos:
Insertar tuplas en una relación.
Eliminar tuplas de una relación.
Actualizar el valor de algunos componentes de tuplas existentes.
Los dos primeros tipos de instrucciones modifican la cardinalidad de la
relación en tanto el tercer tipo no lo hace.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Inserción
Para insertar datos en una relación, se especifica la tupla que se desea
insertar o bien se formula una consulta cuyo resultado sea el conjunto de
tuplas que se desea insertar.
La instrucción para hacer una inserción tiene la siguiente sintaxis:
INSERT INTO R(a1, ..., an) VALUES (v1, ...vn);
donde R es el nombre de la relación, los vi son los valores para su
correspondiente atributo ai .
Insertar la cuenta C-987 de la sucursal ’San Ángel’ con saldo de
$24,000.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Inserción
Para insertar datos en una relación, se especifica la tupla que se desea
insertar o bien se formula una consulta cuyo resultado sea el conjunto de
tuplas que se desea insertar.
La instrucción para hacer una inserción tiene la siguiente sintaxis:
INSERT INTO R(a1, ..., an) VALUES (v1, ...vn);
donde R es el nombre de la relación, los vi son los valores para su
correspondiente atributo ai .
Insertar la cuenta C-987 de la sucursal ’San Ángel’ con saldo de
$24,000.
INSERT INTO
cuenta (nombreSucursal, numCuenta, saldo)
VALUES (’San Angel’, C-987, 24000);
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Inserción
Para insertar datos en una relación, se especifica la tupla que se desea
insertar o bien se formula una consulta cuyo resultado sea el conjunto de
tuplas que se desea insertar.
La instrucción para hacer una inserción tiene la siguiente sintaxis:
INSERT INTO R(a1, ..., an) VALUES (v1, ...vn);
donde R es el nombre de la relación, los vi son los valores para su
correspondiente atributo ai .
Insertar la cuenta C-987 de la sucursal ’San Ángel’ con saldo de
$24,000.
INSERT INTO
cuenta (nombreSucursal, numCuenta, saldo)
VALUES (’San Angel’, C-987, 24000);
INSERT INTO
cuenta (numCuenta, nombreSucursal, saldo)
VALUES (C-987, ’San Angel’, 24000);
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Inserción
Para insertar datos en una relación, se especifica la tupla que se desea
insertar o bien se formula una consulta cuyo resultado sea el conjunto de
tuplas que se desea insertar.
La instrucción para hacer una inserción tiene la siguiente sintaxis:
INSERT INTO R(a1, ..., an) VALUES (v1, ...vn);
donde R es el nombre de la relación, los vi son los valores para su
correspondiente atributo ai .
Insertar la cuenta C-987 de la sucursal ’San Ángel’ con saldo de
$24,000.
INSERT INTO
cuenta (nombreSucursal, numCuenta, saldo)
VALUES (’San Angel’, C-987, 24000);
INSERT INTO
cuenta (numCuenta, nombreSucursal, saldo)
VALUES (C-987, ’San Angel’, 24000);
INSERT INTO
Amparo López Gaona ()
cuenta VALUES (’San Angel’,’C-987’,24000);}
/ 1
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
... Inserción
Si no se incluye valor para todos los atributos de la relación, se asigna nulo
o bien alguno definido por omisión.
Ejemplo:
INSERT INTO cuenta
VALUES (null, ’C-401’, 24000);
SELECT num_cuenta
FROM
WHERE
cuenta
nombreSucursal = ’San Angel’;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
... Inserción
Para incluir más de una tupla puede usarse una consulta en lugar de la
clausula VALUES.
A todos los clientes de la sucursal San Fernando que tengan cuenta se
les otorga un préstamo por $10,000.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
... Inserción
Para incluir más de una tupla puede usarse una consulta en lugar de la
clausula VALUES.
A todos los clientes de la sucursal San Fernando que tengan cuenta se
les otorga un préstamo por $10,000.
INSERT INTO prestamo
SELECT nombreSucursal, numCuenta, 10000
FROM
WHERE
cuenta
nombreSucursal = ’San Fernando’;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
... Inserción
Para incluir más de una tupla puede usarse una consulta en lugar de la
clausula VALUES.
A todos los clientes de la sucursal San Fernando que tengan cuenta se
les otorga un préstamo por $10,000.
INSERT INTO prestamo
SELECT nombreSucursal, numCuenta, 10000
FROM
WHERE
cuenta
nombreSucursal = ’San Fernando’;
INSERT INTO prestatario
SELECT nombreCliente, numCuenta
FROM
WHERE
ctaCliente, cuenta
ctaCliente.numCuenta = cuenta.numCuenta AND
nombreSucursal = ’San Fernando’;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Supresión
Si se desea eliminar una tupla de una relación debe usarse la instrucción:
DELETE FROM R WHERE condición;
Borrar todas las tuplas de préstamo.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Supresión
Si se desea eliminar una tupla de una relación debe usarse la instrucción:
DELETE FROM R WHERE condición;
Borrar todas las tuplas de préstamo.
DELETE FROM prestamo;
Borrar todas las cuentas de la sucursal San Ángel.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Supresión
Si se desea eliminar una tupla de una relación debe usarse la instrucción:
DELETE FROM R WHERE condición;
Borrar todas las tuplas de préstamo.
DELETE FROM prestamo;
Borrar todas las cuentas de la sucursal San Ángel.
DELETE FROM cuenta
WHERE nombreSucursal = ’San Angel’;
Borrar todos los préstamos en los que la cantidad esté comprendida
entre $500 y $1000.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Supresión
Si se desea eliminar una tupla de una relación debe usarse la instrucción:
DELETE FROM R WHERE condición;
Borrar todas las tuplas de préstamo.
DELETE FROM prestamo;
Borrar todas las cuentas de la sucursal San Ángel.
DELETE FROM cuenta
WHERE nombreSucursal = ’San Angel’;
Borrar todos los préstamos en los que la cantidad esté comprendida
entre $500 y $1000.
DELETE FROM prestamo
WHERE importe BETWEEN 500 AND 1000;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Actualización
Si sólo se desea modificar el valor de ciertos campos, se puede utilizar la
instrucción de actualización cuya sintaxis es:
UPDATE R SET valores WHERE condición;
Donde R es una relación y valores es una lista de elementos separados por
comas, y cada elemento tiene un atributo, signo de igualdad, y una
fórmula o valor.
Esta instrucción permite actualizar el valor de los atributos mencionados
para todas aquellas tuplas de la relación R que satisfagan la condición
especificada.
Cobrar un interés del 5 % a cada cuenta:
UPDATE cuenta
SET saldo = saldo * 0.95;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
...Actualización
Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
...Actualización
Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %.
UPDATE cuenta
SET
WHERE
saldo = saldo * 0.95
saldo <= 200000;
UPDATE cuenta
SET
WHERE
saldo = saldo * 0.94
saldo > 200000;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
...Actualización
Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %.
UPDATE cuenta
SET
WHERE
saldo = saldo * 0.95
saldo <= 200000;
UPDATE cuenta
SET
WHERE
¿Qué pasa si se invierte el orden?
saldo = saldo * 0.94
saldo > 200000;
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
...Actualización
Si saldo > $2000,000 cobrar 6 % de interés en otro caso sólo el 5 %.
UPDATE cuenta
SET
WHERE
saldo = saldo * 0.95
saldo <= 200000;
UPDATE cuenta
SET
WHERE
¿Qué pasa si se invierte el orden?
saldo = saldo * 0.94
saldo > 200000;
Abonar a todos los clientes que viven en Mazatlán $1000.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Subconsultas en instrucciones de actualización
Borrar las cuentas de todas las sucursales de Cuernavaca.
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Subconsultas en instrucciones de actualización
Borrar las cuentas de todas las sucursales de Cuernavaca.
DELETE FROM cuenta
WHERE
nombreSucursal IN (SELECT nombreSucursal
sucursal
FROM
WHERE ciudad = ’Cuernavaca’);
Amparo López Gaona ()
SQLModificaciones a la BD
Posgrado en Ciencia e Ingeniería de la Computación Mayo 2012
/ 1
Subconsultas en instrucciones de actualización
Borrar las cuentas de todas las sucursales de Cuernavaca.
DELETE FROM cuenta
WHERE
nombreSucursal IN (SELECT nombreSucursal
FROM
WHERE ciudad = ’Cuernavaca’);
Nota: sólo s
Comentarios de: SQL Modificaciones a la BD (0)
No hay comentarios