En la entrada
anterior se ha visto como se pueden crear instrucciones usando el lenguaje SQL
para consultar una base de datos, y de esta forma, extraer información de ella.
Pero el lenguaje
SQL no se queda simplemente ahí, sino que proporciona instrucciones que pueden
realizar acciones sobre la base de datos. Estas acciones son (entre otras):
-
Añadir nuevos registros a una tabla.
-
Eliminar registros de una tabla.
-
Modificar datos de una tabla.
En este post
veremos como ejecutar instrucciones SQL que permitan añadir, eliminar o
modificar registros de las tablas de la base de datos.
Alta de registros en SQL
Se
empezará estudiando como añadir nuevos registros en una base de datos usado el
lenguaje SQL.
Código base en SQL para añadir nuevos registros
Para añadir un
registro en una tabla se usa la siguiente sintaxis:
INSERT INTO tabla
VALUES (valor1, valor2, valor3,
..., valorN)
En la cláusula
INSERT INTO se indica la tabla que en la que se quiere introducir una nueva
fila (registro), y en la cláusula VALUES se indican los valores de la fila que
se quiere insertar. Estos valores tienen que estar indicados en el orden en el
que están definidos los campos en la tabla correspondiente.
Por ejemplo:
INSERT INTO Trabajadores
VALUES (‘33333333’, ‘CESAR’, ‘CENTURION’,
5200.00, ‘01/02/2006’, ‘P0003’)
En esta
instrucción se está introduciendo un nuevo trabajador en la tabla Trabajadores. Concretamente se está
introduciendo un trabajador con las siguientes características:
DNI: 33333333
Nombres: CESAR
Apellidos: CENTURION
Sueldo: 5200.00
Fecha de
entrada: 02/01/2006
Placa: P0003
Los valores
están indicados en el mismo orden en el que están los campos en la tabla: dni,
nombres,
apellidos,
sueldo,
fecha_entrada,
placa.
Si se quiere
introducir un nuevo registro, pero indicando solo los valores de algunos
campos, se puede usar entonces esta otra sintaxis para la instrucción INSERT
INTO:
INSERT INTO tabla
(campoA, campoB, campoC)
VALUES (valor del campoA, valor
del campoB, valor del campoC)
En este caso
solo se introducen los valores correspondientes a tres campos, el resto de los
campos del registro se quedarán vacíos.
Por ejemplo:
INSERT INTO Trabajadores
(dni, apellidos, sueldo)
VALUES (‘33333333’, ‘CENTURION’,
5200.00)
En este caso introducimos a un trabajador de
apellido CENTURION, con
DNI 33333333
que cobra 5200.00 soles. Tanto la placa de su auto como su nombre y
la fecha quedan en blanco.
Formato de los valores:
Recuerda que
debes seguir ciertas reglas para introducir valores:
Las cadenas se
escriben entre comillas simples. Por ejemplo: ‘CENTURION’
Se usa el punto
decimal en los números reales: Por ejemplo: 5200.00
Las fechas se
indicarán entre comillas simples y hay que indicar primero el mes,
luego el día y finalmente el año. Por ejemplo: ‘12-20-2007’ es 20
de diciembre de 2007.
En el caso de
querer especificar explícitamente que un campo esté vacío, se puede indicar el
valor NULL.
Ejemplo:
INSERT INTO Trabajadores
(dni, apellidos, sueldo)
VALUES (‘33333333’, NULL,
1250.45)
Los apellidos
del trabajador están vacíos en este ejemplo.
EJERCICIO GUIADO Nº 1
- Abre la base de datos AMANUVA.
- Crearemos una consulta SQL para añadir registros
a la tabla Trabajadores. Para
ello, haz clic derecho en la base de datos AMANUVA y escoge la opción New Query.
- Aparecerá entonces el editor de consultas SQL.
En él, escribe la siguiente instrucción SQL:
INSERT
INTO Trabajadores
VALUES
(‘44444444’, ‘DANTE’, ‘GUZMAN’, 6300.56, ‘12/22/2015’, NULL)
Verás que lo que se pretende es introducir un nuevo trabajador. Este
trabajador tendrá los siguientes datos:
DNI: 44444444
Nombres: DANTE
Apellidos: GUZMAN
Sueldo: 6300.56
Fecha de entrada: 12/22/2015
(Observa como en la cláusula VALUES se indica la fecha en formato mes-día-año)
Placa de su auto: No se indica (NULL)
- Este tipo de consulta es de acción. Esto
significa que no muestra registros de las tablas de la base de datos,
simplemente ejecuta una acción sobre la base de datos (en este caso,
añadir un registro nuevo en la tabla Trabajadores) Para ejecutar esta consulta de acción pulsa
F5:
- Se acaba de ejecutar la consulta y se muestra
un mensaje que indica que hay 1 fila
afectada. Para comprobar el resultado tendremos que ver el contenido
de la tabla Trabajadores y
observaremos que hay un nuevo trabajador añadido. Primero cierra la
consulta, pero no la guardes.
- Haz clic derecho sobre la base de datos
AMANUVA y escoge la opción New Query,
luego escribe la siguiente consulta y posteriormente pulsa F5:
SELECT
* FROM Trabajadores
- Se observa al nuevo trabajador que se ha
añadido.
- Cierra la ventana de edición de consultas.
Modificación de registros en SQL
Es
posible usar el lenguaje SQL para modificar los datos de una tabla. Se puede
incluso modificar los datos de aquellos registros que cumplan una condición en
concreto.
Código base en SQL para modificar registros
Para modificar
los datos de los registros de una tabla se usará el siguiente código general:
UPDATE
tabla_a_modificar
SET
campo1 = nuevoValor1, campo2 = nuevoValor2, …, campoN = nuevoValorN
WHERE
condición
En la cláusula
UPDATE se indica la tabla cuyos registros se van a modificar.
La cláusula SET
permite indicar los cambios que se realizarán. Se debe indicar el campo que se
va a cambiar y el nuevo valor que se introducirá en el campo. Como puede
observar, se pueden indicar varios campos a modificar.
La cláusula
WHERE permite indicar una condición. Esto hará que solo se cambien los valores
de aquellos registros que cumplan la condición. La cláusula WHERE es opcional,
y si no se indicara se cambiarían todos los registros de la tabla.
Ejemplo:
UPDATE
Trabajadores
SET
sueldo = 6300, placa = ‘P0004’
WHERE
dni = ‘44444444’
En este ejemplo
se les asigna un sueldo de 6300 soles y el auto con placa P0004 al trabajador
cuyo dni es 44444444.
Ejemplo:
UPDATE
Trabajadores
SET
sueldo = 4300
En este ejemplo,
se les asigna a todos los trabajadores un sueldo de 4300 soles ya que no se ha
indicado la cláusula WHERE.
Si se quisiera
hacer un cambio puntual a un registro en concreto, tendremos que hacer uso de
su campo clave para indicar la condición. Recuerda que el campo clave es el que
identifica de forma única a un registro de la tabla.
Por ejemplo:
UPDATE
Trabajadores
SET
sueldo = 4300
WHERE
dni = ‘11111111’
En este ejemplo
se está asignando un sueldo de 4300 al trabajador con dni 11111111, y a ningún
otro (ya que se supone que no habrá otro con dicho dni).
EJERCICIO GUIADO Nº 2
- Haz clic derecho sobre la base de datos
AMANUVA y elige la opción New Query.
- Escribe la siguiente instrucción SQL:
UPDATE
Trabajadores
SET
sueldo = 6300, placa = ‘P0004’
WHERE
dni = ‘44444444’
Como puedes observar, en esta instrucción SQL vamos a asignarle un
sueldo de 6300 soles y el auto con placa P0004 al trabajador con dni
44444444, que es precisamente el trabajador que añadimos en el ejercicio guiado
anterior.
- Ejecuta esta consulta de acción pulsando F5.
- El resultado de esta instrucción SQL de acción
es que se habrán modificado los datos del trabajador con dni
44444444. Para comprobarlo iremos a la tabla Trabajadores y observaremos su contenido.
- Cierre la consulta que está realizando (no
hace falta que la guarde).
- Haz clic derecho sobre la tabla Trabajadores y escoge la opción Select
Top 1000 Rows para observar los 1000 primeros registros. El
trabajador con dni 44444444 habrá cambiado:
- Cierra la ventana de consultas.
Eliminación de registros en SQL
Al igual
que podemos añadir nuevos registros (filas) a las tablas usando SQL, también
podemos usar este lenguaje para eliminar registros de las tablas.
Código base en SQL para eliminar registros
Para eliminar
registros de una tabla se usará el siguiente código general:
DELETE
FROM tabla de la que se quiere eliminar
WHERE
condición de los registros que se eliminarán
En la cláusula
DELETE FROM se indica la tabla de la que eliminaremos registros.
En la cláusula
WHERE se indica la condición que deben cumplir los registros que eliminaremos.
Por ejemplo:
DELETE
FROM Trabajadores
WHERE
sueldo>5000
En este ejemplo
se están eliminando de la tabla Trabajadores
aquellos trabajadores cuyo sueldo sea
superior a 5000.
Si se quiere
eliminar un solo registro de la tabla, será necesario hacer referencia a su
campo clave. Recuerda que el campo clave es el que identifica de forma única a
cada registro.
Por ejemplo, si
queremos eliminar un trabajador en concreto, indicaremos su dni
en la condición:
DELETE
FROM Trabajadores
WHERE
dni = ‘22222222’
Esta instrucción
SQL borra al trabajador con dni 22222222
(solamente a él, ya que se supone que no habrá otro trabajador que tenga
ese mismo dni).
En la cláusula
WHERE de una instrucción DELETE, las condiciones se indican tal como se vio en
la entrada anterior para las instrucciones SELECT.
Si se quiere
eliminar todo el contenido de una tabla, se puede usar una instrucción DELETE
sin indicar ninguna condición. Por ejemplo:
DELETE
FROM Trabajadores
Esta instrucción
eliminaría todos los registros de la tabla Trabajadores.
EJERCICIO GUIADO Nº 3
- Haz clic derecho sobre la base de datos
AMANUVA y luego escoge la opción New
Query.
- Escribe la siguiente instrucción SQL:
DELETE
FROM Trabajadores
WHERE
DNI = '44444444'
Como puedes observar, esta instrucción eliminará al trabajador con dni
44444444, que es precisamente el trabajador que se añadió en el ejercicio
guiado 1.
- Ejecuta esta instrucción pulsando F5.
- Para comprobar el ejemplo tendrás que acceder a
la tabla Trabajadores y
comprobar que el trabajador con DNI 44444444 ya no está. Para ello cierre
la consulta (no hace falta que la guarde).
- Haz clic derecho sobre la tabla Trabajadores y escoge la opción Select
Top 1000 Rows para observar los 1000 primeros registros. Observe
como el trabajador ha desaparecido:
- Cierre SQL Server.
CONCLUSIONES:
El lenguaje de consulta estructurado - SQL no solo
permite extraer información de una base de datos, sino que también permite
realizar acciones sobre la base de datos:
- Introducir nuevos datos en la base de datos.
- Eliminar datos de la base de datos.
- Modificar datos de la base de datos.
Para introducir nuevos datos en la base de datos
usará la instrucción SQL llamada INSERT INTO
Para eliminar datos de la base de datos usará la
instrucción SQL llamada DELETE
Para modificar datos de la base de datos usará la
instrucción SQL llamada UPDATE
No hay comentarios.:
Publicar un comentario