viernes, 26 de agosto de 2016

043.- Base De Datos - Lenguaje de Consulta Estructurado SQL - Continuación - Java y NetBeans

Acciones en SQL:

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


  1. Abre la base de datos AMANUVA.

  1. 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.

  1. 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)


  1. 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:



  1. 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.



  1. 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



  1. Se observa al nuevo trabajador que se ha añadido.

  1. 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

  1. Haz clic derecho sobre la base de datos AMANUVA y elige la opción New Query.
  2. 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.

  1. Ejecuta esta consulta de acción pulsando F5.
  2. 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.

  1. Cierre la consulta que está realizando (no hace falta que la guarde).

  1. 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:



  1. 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


  1. Haz clic derecho sobre la base de datos AMANUVA y luego escoge la opción New Query.

  1. 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.


  1. Ejecuta esta instrucción pulsando F5.

  1. 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).

  1. 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:



  1. 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