Вы находитесь на странице: 1из 6

EJERCICIO GUIADO. BASES DE DATOS.

SQL
Acciones en SQL
En la hoja guiada anterior se ha visto como se pueden crear instrucciones usando el
lenguaje SQL para consultar una base de datos, y, de esta forma, extraer informacin de
ella.
Pero el lenguaje SQL no se ueda simplemente ah!, sino ue proporciona instrucciones ue
pueden reali"ar acciones sobre la base de datos. Estas acciones son #entre otras$%
- &'adir nuevos registros a una tabla.
- Eliminar registros de una tabla.
- (odificar datos de una tabla.
En esta hoja guiada veremos como ejecutar instrucciones SQL ue permitan a'adir, eliminar
o modificar registros de las tablas de la base de datos.
Programa
)ava
*ase de
+atos
,-+E.ES SQL
a'adir, modificar, eliminar
Alta de registros en SQL
Se empe"ar/ estudiando como a'adir nuevos registros en una base de datos usado el
lenguaje SQL.
Cdigo base en SQL ara a!adir n"e#os registros
Para a'adir un registro en una tabla se usa la siguiente sintaxis%
INSERT INTO tabla
VALUES (valor1, valor2, valor3, ..., valor n);
En la cl/usula 0.SE-1 0.12 se indica la tabla ue en la ue se uiere introducir una nueva
fila #registro$, y en la cl/usula 3&L4ES se indican los valores de la fila ue se uiere insertar.
Estos valores tienen ue estar indicados en el orden en el ue est/n definidos los campos
en la tabla correspondiente.
Por ejemplo%
INSERT INTO trabajadore
VALUES (!3".23#.23#$A!, %&ar'a!, % L()e*!, 12+".#+, ,"1-"2-2""., %##++$RS/!);
En esta instruccin se est/ introduciendo un nuevo trabajador en la tabla trabajadores.
5oncretamente se est/ introduciendo un trabajador con las siguientes caracter!sticas%
+.0% 67.869.869:&
.ombre% (ar!a
&pellidos% Lpe"
Sueldo% ;8<7,9<
=echa de entrada% 78>7;>877?
(atr!cula% 99<<:-S+
Los valores est/n indicados en el mismo orden en el ue est/n los campos en la tabla% +.0,
.ombre, &pellidos, Sueldo, =echa, (atr!cula.
Si se uiere introducir un nuevo registro, pero indicando solo los valores de algunos campos,
se puede usar entonces esta otra sintaxis para la instruccin 0.SE-1 0.12%
INSERT INTO tabla
(0a1)o a, 0a1)o b, 0a1)o 0)
VALUES (valor del 0a1)o a, valor del 0a1)o b, valor del 0a1)o 0);
En este caso solo se introducen los valores correspondientes a tres campos, el resto de los
campos del registro se uedar/n vac!os.
Por ejemplo%
INSERT INTO trabajadore
(/NI, A)ell2do, S3eldo)
VALUES (!3".23#.23#$A!, % L()e*!, 12+".#+);
En este caso introducimos a un trabajador de apellido Lpe", con +.0 67.869.869:& ue
cobra ;8<7,9< euros. 1anto la matr!cula de su coche como su nombre y la fecha uedan en
blanco.
=ormato de los valores.
-ecuerda ue debes seguir ciertas reglas para introducir valores%
Las cadenas se escriben entre comillas simples. Por ejemplo% @Lpe"A
Se usa el punto decimal en los nBmeros reales% Por ejemplo% ;8<7.9<
Las fechas se indicar/n entre almohadillas C y hay ue indicar primero el mes, luego el d!a y
finalmente el a'o. Por ejemplo% C;8:87:877DC es 87 de diciembre de 877D.
En el caso de uerer especificar expl!citamente ue un campo estE vac!o, se puede indicar
el valor .4LL.
Ejemplo%
INSERT INTO trabajadore
(/NI, A)ell2do, S3eldo)
VALUES (!3".23#.23#$A!, NULL, 12+".#+);
Los apellidos del trabajador est/n vac!os en este ejemplo.
$odi%icacin de registros en SQL
Es posible usar el lenguaje SQL para modificar los datos de una tabla. Se puede incluso
modificar los datos de auellos registros ue cumplan una condicin en concreto.
Cdigo base en SQL ara &odi%icar registros
Para modificar los datos de los registros de una tabla se usar/ el siguiente cdigo general%
U4/ATE tabla a 1od2520ar
SET 0a1)o1 6 n3evovalor1, 0a1)o2 6 n3evovalor2, 7, 0a1)on 6 n3evovalorn
89ERE 0ond202(n;
En la cl/usula 4P+&1E se indica la tabla cuyos registros se van a modificar.
La cl/usula SE1 permite indicar los cambios ue se reali"ar/n. Se debe indicar el campo
ue se va a cambiar y el nuevo valor ue se introducir/ en el campo. 5omo puede observar,
se pueden indicar varios campos a modificar.
La cl/usula FGE-E permite indicar una condicin. Esto har/ ue solo se cambien los
valores de auellos registros ue cumplan la condicin. La cl/usula FGE-E es opcional, y si
no se indicara se cambiar!an todos los registros de la tabla.
Ejemplo%
U4/ATE trabajadore
SET 3eldo 6 12"", 1atr203la6!33++$AAA!
89ERE 5e0:a ; ,"1-"1-2""#,;
En este ejemplo se les asigna un sueldo de ;877 euros y el coche con matr!cula 66<<:&&& a
todos auellos trabajadores ue hayan entrado en la empresa antes del ;:;:8779.
Ejemplo%
U4/ATE trabajadore
SET 3eldo 6 13"";
En este ejemplo, se les asigna a todos los trabajadores un sueldo de ;677 euros ya ue no
se ha indicado cl/usula FGE-E.
Si se uisiera hacer un cambio puntual a un registro en concreto, tendremos ue hacer uso
de su campo clave para indicar la condicin. -ecuerda ue el campo clave es el ue
identifica de forma Bnica a un registro de la tabla.
Por ejemplo%
U4/ATE trabajadore
SET 3eldo 6 13""
89ERE /NI6!33.###.333$A!;
En este ejemplo se estoy asignando un sueldo de ;677 al trabajador con +.0 66.999.666:&,
y a ningBn otro #ya ue se supone ue no habr/ otro con dicho +.0$
Eli&inacin de registros en SQL
&l igual ue podemos a'adir nuevos registros #filas$ a las tablas usando SQL, tambiEn
podemos usar este lenguaje para eliminar registros de las tablas.
Cdigo base en SQL ara eli&inar registros
Para eliminar registros de una tabla se usar/ el siguiente cdigo general%
/ELETE <RO& tabla de la =3e e =32ere el212nar
89ERE 0ond202(n de lo re>2tro =3e e el212nar?n;
En la cl/usula +ELE1E =-2( se indica la tabla de la ue eliminaremos registros.
En la cl/usula FGE-E se indica la condicin ue deben cumplir los registros ue
eliminaremos.
Por ejemplo%
/ELETE <RO& trabajadore
89ERE 3eldo@1""";
En este ejemplo se est/n eliminando de la tabla trabajadores auellos trabajadores cuyo
sueldo sea superior a ;777.
Si se uiere eliminar un solo registro de la tabla, ser/ necesario hacer referencia a su campo
clave. -ecuerda ue el campo clave es el ue identifica de forma Bnica a cada registro.
Por ejemplo, si ueremos eliminar un trabajador en concreto, indicaremos su +.0 en la
condicin%
/ELETE <RO& trabajadore
89ERE /NI6!33.###.+++$A!;
Esta instruccin SQL borra al trabajador con +.0 66.999.<<<:& #solamente a El, ya ue se
supone ue no habr/ otro trabajador ue tenga ese mismo +.0$
En la cl/usula FGE-E de una instruccin +ELE1E, las condiciones se indican tal como se
vio en la hoja anterior para las instrucciones SELE51.
Si se uiere eliminar todo el contenido de una tabla, se puede usar una instruccin +ELE1E
sin indicar ninguna condicin. Por ejemplo%
/ELETE <RO& trabajadore;
Esta instruccin eliminar!a todos los registros de la tabla trabajadores.
CO'CLUSI('
El leng"a)e de cons"lta SQL no solo er&ite e*traer in%or&acin de "na base de
datos+ sino ,"e ta&bi-n er&ite reali.ar acciones sobre la base de datos/
0 Introd"cir n"e#os datos en la base de datos.
0 Eli&inar datos de la base de datos.
0 $odi%icar datos de la base de datos.
1ara introd"cir n"e#os datos en la base de datos "sar2 la instr"ccin SQL lla&ada
I'SERT I'TO
1ara eli&inar datos de la base de datos "sar2 la instr"ccin SQL lla&ada DELETE
1ara &odi%icar datos de la base de datos "sar2 la instr"ccin SQL lla&ada U1DATE