Está en la página 1de 4

LENGUAJE DE MANIPULACION DE DATOS

1. INSERT INTO
Se utiliza para aadir datos a la tabla:
INSERT INTO Emple VALUES (
8900,CORTEZ,EMPLEADO,NULL,NULL,NULL,NULL,10);
Basta con seguir el orden de las columnas y poner NULL donde no exista valor.
La anterior fila tambin la podramos haber insertado de la forma:
INSERT INTO Emple (Emp_No,Apellido, Oficio,Dept_No) VALUES (
8900,ORDOEZ,EMPLEADO ,10);
INSERT INTO Emple (Dept_No,Emp_No,Apellido, Oficio) VALUES (
10,8900,ORDOEZ,EMPLEADO);
Las fechas y los textos deben ir entre comillas simples.
Se puede introducir el resultado de una consulta:
INSERT INTO Empleados (Codigo, Nombre) SELECT Emp_No,Apellido
FROM Emple;
Esto se puede hacer siempre y cuando los campos sean compatibles.
2. DELETE
Se utiliza para borrar datos, se eliminan las filas seleccionadas.
DELETE FROM Emple;
Borrara todas las filas.
DELETE FROM Emple WHERE Apellido =Sanchez
Borra la fila del empleado Snchez
DELETE FROM Emple WHERE Comision IS NULL;
Borra todas las filas que no tengan comisin
Se pueden usar subconsultas pero no multitblas.
Por ejemplo , en las tablas de EMPRESA, para borrar los Repventas que no
sirvieron ningn pedido:
DELETE FROM Repventas WHERE Num_empl NOT IN (SELECT Rep
FROM Pedidos)

3. UPDATE
Actualiza la tabla.
UPDATE Emple
SET Comision=0;
Transforma la tabla Emple en:
EMP_ APELLI OFICIO
NO
DO
7369
SANCHE EMPLEA
Z
DO
7499
ARROY VENDED
O
OR
7521
SALA
VENDED
OR
7566
JIMENE DIRECTO
Z
R
7654
MARTIN VENDED
OR
7698
NEGRO DIRECTO
R
7782
CEREZO DIRECTO
R
7788
GIL
ANALIST
A
7839
REY
PRESIDE
NTE
7844
TOVAR VENDED
OR
7876
ALONS
EMPLEA
O
DO
7900
JIMENO EMPLEA
DO
7902
FDEZ
ANALIST
A
7934
MUOZ EMPLEA
DO
UPDATE Emple
SET Comision =NULL
La transforma en:
EMP_ APELLI OFICIO
NO
DO
7369
SANCHE EMPLEA
Z
DO
7499
ARROY VENDED
O
OR
7521
SALA
VENDED
OR

DIR
7902
7698
7698
7839
7698
7839
7839
7566

7698
7788
7698
7566
7782

DIR
7902
7698
7698

FECHA
_ALT
17-121990
20-021990
22-021991
02-041991
29-091991
01-051991
09-061991
09-111991
17-111991
08-091991
23-091991
03-121991
03-121991
23-011992

SALAR
IO
1040

COMISI
ON
0

DEPT_
NO
20

1500

30

1625

30

2900

20

1600

30

3005

30

2885

10

3000

20

4100

10

1350

30

1430

20

1335

30

3000

20

1690

10

FECHA
_ALT
17-121990
20-021990
22-021991

SALAR
IO
1040

COMISI
ON

DEPT_
NO
20

1500

30

1625

30

7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934

JIMENE DIRECTO
Z
R
MARTIN VENDED
OR
NEGRO DIRECTO
R
CEREZO DIRECTO
R
GIL
ANALIST
A
REY
PRESIDE
NTE
TOVAR VENDED
OR
ALONS
EMPLEA
O
DO
JIMENO EMPLEA
DO
FDEZ
ANALIST
A
MUOZ EMPLEA
DO

7839
7698
7839
7839
7566

7698
7788
7698
7566
7782

02-041991
29-091991
01-051991
09-061991
09-111991
17-111991
08-091991
23-091991
03-121991
03-121991
23-011992

2900

20

1600

30

3005

30

2885

10

3000

20

4100

10

1350

30

1430

20

1335

30

3000

20

1690

10

FECHA
_ALT
17-121990
20-021990
22-021991
02-041991
29-091991
01-051991
09-061991
09-111991
17-111991
08-09-

SALAR
IO
1040

COMISI
ON
0

DEPT_
NO
20

1500

390

30

1625

650

30

Para cambiar una seleccin de valores:


UPDATE Emple
SET Comision = 35
WHERE Dep._No =10;
EMP_ APELLI OFICIO
NO
DO
7369
SANCHE EMPLEA
Z
DO
7499
ARROY VENDED
O
OR
7521
SALA
VENDED
OR
7566
JIMENE DIRECTO
Z
R
7654
MARTIN VENDED
OR
7698
NEGRO DIRECTO
R
7782
CEREZO DIRECTO
R
7788
GIL
ANALIST
A
7839
REY
PRESIDE
NTE
7844
TOVAR VENDED

DIR
7902
7698
7698
7839
7698
7839
7839
7566

7698

2900
1600

20
1020

3005
2885

30
35

3000
4100
1350

30

10
20

35

10
30

7876
7900

ALONS
O
JIMENO

7902

FDEZ

7934

MUOZ

OR
EMPLEA
DO
EMPLEA
DO
ANALIST
A
EMPLEA
DO

7788
7698
7566
7782

1991
23-091991
03-121991
03-121991
23-011992

1430

20

1335

30

3000

20

1690

35

10

Se pueden usar subconsultas pero no multitblas.


Se pueden incluir subconsultas tanto en el SET si procede como en el WHERE
Por ejemplo en la tablas de EMPRESA:
1) Cambia el valor de las ventas de los Repventas por la suma de importes que los
pedidos que hizo cada uno:
UPDATE Repventas
SET Ventas= (SELECT SUM(importe)
FROM pedidos
WHERE Pedidos.Rep=Repventas.Num_empl)
Como debo de cambiar todos los Repventas la sentencia de actualizacin no lleva
WHERE
2) Aumenta el limite de crdito de los Clientes representados por Luis Prez en 10%
Para aumentar el 10% la frmula sera:
Limite nuevo=Lmite anterior+10/100*Limite anterior
Es decir :
Limite nuevo= 1,1*Limite anterior
Luego la sentencia ser:
UPDATE Clientes
SET Limite_credito=Limite_credito*1,1
WHERE Rep_clie = (SELECT Num_Empl
FROM Repventas
WHERE Nombre=Luis Prez);
3)En las oficinas cuyas ventas sean menores que los objetivos, cambiar los objetivos
por las suma de las cuotas de los repventas que trabajan en ella
UPDATE Oficinas
SET Objetivo = (SELECT SUM(cuota)
FROM Repventas
WHERE Repventas.Oficina_rep=Oficinas.Oficina)
WHERE Ventas<Objetivo

También podría gustarte