You are on page 1of 23

BASE DE DATOS I

INSTRUCCIONES DE SQL-DML

SQL INSTRUCCIONES - DML

INSERT
Crea nuevas filas en una tabla

SELECT
Leer filas o columnas de una tabla

UPDATE
Modifica filas existentes en una tabla

DELETE
Borra filas de una tabla

BASE DE DATOS

CREAR BASE DE DATOS


CREATE DATABASE nombre_bd

ACTIVAR BASE DE DATOS


USE nombre_bd

CREAR UNA TABLA


CREATE TABLE empleados
(
enombre char(15) NOT NULL,
ecod
integer NOT NULL,
efnac
date,
Primary Key (edoc)
)
Es posible definir una clave primaria
4

TABLA REFERENCIAL
CREATE TABLE empleados
(
enombre char(15) NOT NULL,
ecod
integer NOT NULL,
eedad
integer,
esexo
char(1),
esueldo
float,
deptoid
integer,
Primary Key (edoc) ,
Foreign Key deptoid References Deptos
)
Define la columna deptoid como clave fornea
apuntando a Deptos

CLAUSULA INSERT

INSERT INTO table (column1 ,column2...)


VALUES (value1 , value2...);

INSERT INTO deptos (dcod, ddescr)


VALUES (50, CONTABILIDAD');
6

CLAUSULA SELECT

SELECT

a1, ..., an

FROM

t1,....,tn

WHERE

<cond>

ORDER BY

ai, aj
7

OPERACIONES CON SELECT


Obtener las columnas ecod, enombre
de la tabla empleados de aquellas
filas cuya columna dcod tiene el
valor 5

SELECT ecod, enombre


FROM empleados
WHERE dcod=5;
8

OPERACIONES CON SELECT


Obtener TODAS las columnas de la
tabla empleados de aquellas filas
cuya columna dcod tiene valor 40

SELECT *
FROM empleados
WHERE dcod=40;
9

USO DE AND Y OR
AND y OR se usan para conectar
condiciones simples.

SELECT * FROM empleado WHERE


nombre='Mara' AND apellido='Prez';

10

USO DE AND Y OR

Si se combinan ANDs y ORs en un mismo


query es mejor agrupar los ANDs y los
ORs usando parntesis. Ya que Los ANDs
se evalan primero.

11

USO DE AND Y OR

SELECT * FROM empleado WHERE


apellido='Prez' AND sexo='M' OR
sexo='F';
Me da los de apellido Prez
Y son de sexo M pero tambin todos los
de sexo F, ya que primero se ejecuta
el AND y despus el OR.

12

USO DE AND Y OR

SELECT * FROM empleado WHERE


apellido='Prez' AND (sexo='M' OR
sexo='F');
Este me da los que son de
apellido Prez y que son de sexo M F.

13

USO DE BETWEEN
Si queremos aqullos empleados que
estn entre 24 y 30 aos de edad:

SELECT * FROM empleado WHERE edad


BETWEEN 24 AND 30;

14

SELECT JOIN
Analisemos el siguiente grafico

15

SELECT (JOIN-IMPLICITA)

SELECT empleados.nombre, provincias.nombre

FROM
empleados, deptos, provincias
WHERE empleados.deptoid = deptos.deptoid
AND deptos.provid = provincias.provid
AND deptos.nombre = Sistemas ;

16

SELECT(ALIAS)
Los Alias se usan mayormente para simplificar
la escritura del SELECT, sin embargo algunos
tipos de subqueries requieren el uso de
alias, ya que de otra manera no es posible
escribirlos
SELECT
FROM

e.nombre, p.nombre
empleados e, deptos d, provincias p

WHERE

e.deptoid = d.deptoid
AND d.provid = p.provid

AND

d.nombre = Sistemas;

17

SELECT (ORDER BY)


Para ordenar las filas que retorna la
consulta.El valor por default es ASC

SELECT ddescr, enombre, esalario


FROM empleados e, departamentos d
WHERE e.dcod = d.dcod
ORDER BY esalario DESC, d.dcod ASC
18

FUNCIONES AGREGADAS
COUNT(*):cuenta reglones
SUM(nombre_col):total
MAX(nombre_col):maximo
MIN(nombre_col):minimo
AVG(nombre_col):pormedio

19

FUNCIONES AGRAGADAS
Contar nmero de renglones
SELECT COUNT(*) FROM empleado;
Obtener la suma de los sueldos
SELECT SUM(sueldo) FROM empleado;
Obtener el sueldo mximo
SELECT MAX(sueldo) FROM empleado;
Obtener la edad mnima
SELECT MIN(edad) FROM empleado;

Obtener el sueldo promedio


SELECT AVG(sueldo) FROM empleado;

20

CLAUSULA DELETE

Borra filas existentes en una tabla


DELETE [FROM] table
[WHERE condition];

21

CLAUSULA DELETE

DELETE FROM Departamentos

WHERE ddescr =

FINANZAS';

22

CLAUSULA UPDATE

23

You might also like