Logo Studenta

SQL Nivel 1 - Clase 1

¡Este material tiene más páginas!

Vista previa del material en texto

SQL Nivel 113/8/2020 Guillermo Villanueva - guillermovil@Gmail.com 1
SQL Nivel 1
 Insert
 Update
 Delete
 Truncate
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Agenda clase 7
2
SQL Nivel 1
La sentencia insert permite insertar filas en tablas de la base de datos, el motor 
de bases de datos validará los datos teniendo en cuenta:
• Tipo de datos
• Restricción de nulidad
• Unicidad en claves primarias o índices únicos
• Restricciones de integridad referencial
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Insert
3
SQL Nivel 1
Sintáxis 1
INSERT INTO <tabla> [( lista de columnas )]
VALUES
(lista de valores)
[,(lista de valores)]
[...]
[RETURNING *|expr]
Sintáxis 2
INSERT INTO <tabla> [( lista de columnas )]
<consulta select compatible>
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Insert – sintaxis
4
SQL Nivel 1
insert into clientes(cli_id, cli_documento, cli_apellido, cli_nombre)
values (default, '45111222', 'Perez', 'Juan'),
(default, '45111223', 'Lopez', 'Ana');
insert into clientes(cli_documento, cli_apellido, cli_nombre , cli_telefono)
values ('45111225', 'Villa', 'Pedro','3874022345'),
('45111229', 'Alonso', 'Silvia', null)
returning *;
insert into clientes2
select * from clientes where cli_telefono is not null;
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Insert en acción
5
SQL Nivel 1
La sentencia UPDATE cambia los valores de las columnas especificadas en
todas las filas que satisfacen la condición. Solo las columnas a ser modificadas
necesitan mencionarse en la clausula SET, las columnas no especificadas
mantienen su valor previo.
Al igual que en la sentencia INSERT , ante un UPDATE el motor chequea que se 
cumplan todas las reglas mencionadas anteriormente.
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Update
6
SQL Nivel 1
UPDATE tabla
SET columna = { expr | DEFAULT } 
[, ...]
[ WHERE cond ]
[ RETURNING * | expr ]
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Update – sintaxis
7
SQL Nivel 1
update clientes
set cli_apellido = 'Pérez',
cli_email = 'perezj@gmail.com'
where cli_documento = '45111222';
update productos
set pro_precio = pro_precio * 1.10;
Cuidado!: las sentencias update sin where son extremadamente 
peligrosas porque afectan a todas las filas de la tabla
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Update en acción
8
SQL Nivel 1
La sentencia DELETE borra todas las filas de una tabla que satisfacen la 
condición de la clausula WHERE. 
Si no hay clausula WHERE se borran todas las filas del tabla. 
EL motor de bases de datos realizará los chequeos necesarios para que se 
mantenga intacta la integridad referencial.
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Delete
9
Si realmente se desean eliminar todas las 
filas de una tabla es conveniente utilizar la 
sentencia TRUNCATE
SQL Nivel 1
DELETE FROM tabla
[ WHERE condition ]
[ RETURNING * | expr ]
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Delete – sintaxis
10
SQL Nivel 1
delete from clientes
where cli_documento = '45111222'
returning *;
delete from productos ;
Cuidado!: las sentencias delete sin where son extremadamente 
peligrosas porque borran todas las filas de la tabla
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Delete en acción
11
SQL Nivel 1
• Insertar 3 clientes
• Insertar 3 productos
• Insertar las filas necesarias para reflejar 2 ventas
• Crear una tabla de respaldo de clientes e insertar todos los clientes actuales
• Actualizar al 30% todos los productos cuyo precio sea menor que 100
• Borrar la última venta completa
• Borrar todos los registros de la tabla de respaldo
13/8/2020 Guillermo Villanueva - guillermovil@Gmail.com
Práctica
12
SQL Nivel 113/8/2020 Guillermo Villanueva - guillermovil@Gmail.com 13
MUCHAS GRACIAS

Continuar navegando