SQL in a Breeze

En este pequeño articulo vamos a intentar hacer una breve introducción al lenguaje de consultas  estructuradas SQL (Structured Query Language), que nos va a servir para consultar, modificar, añadir o eliminar datos de las tablas de una base de datos.sql

Básicamente vamos a poder realizar 4 tipos de tareas distintas:

  • Consultar una tabla: Significa que vamos a seleccionar los datos deseados de una tabla siguiendo un criterio establecido.
  • Actualizar una tabla: Podemos actualizar determinados datos que cumplan unas condiciones establecidas.
  • Borrar registros de una tabla: Podremos borrar uno o varios registros de una tabla.
  • Añadir registros a una tabla: También podremos usar SQL para insertar datos en una tabla.

La sentencia básica de SQL

DIRECTIVA campo FROM/INTO tabla [WHERE (campo Operador cadena) [conj] (campo Operador cadena)

  • DIRECTIVA: Es la instrucción que queremos ejecutar sobre la tabla.
  • CAMPO: Es la lista de los campos sobre los cuales vamos a ejecutar la instrucción en SQL.
  • FROM/INTO: Si estamos consultando es FROM, si estamos insertando es INTO.
  • TABLA: Sobre que tabla estamos trabajando.
  • [ ]: La parte entre corchetes es opcional, sera necesario para algunas consultas.
  • WHERE: Palabra reservada de SQL que acompaña las cadenas sobre las que se va a operar.
  • conj: Operador Lógico que nos permitirá hacer consultas mas complejas.
  • Operador: Un operador de SQL.
  • cadena: La cadena que estamos buscando.

Las directivas

Con la directiva SELECT podemos hacer nuestras consultas, veamos unos ejemplos:

SELECT * FROM empleados   

Con la siguiente instrucción seleccionamos todos los campos de la tabla empleados. El símbolo (*) significa todos los campos, ya que no hemos incluido una cláusula WHERE.

SELECT nombre_empleado FROM empleados

Esto seleccionara solamente los campos de nombre_empleado de la tabla de empleados.

SELECT nombre,telefono FROM agenda

Esta consulta mostrara los campos nombre y teléfono de la tabla Agenda.

Ahora introduciremos los Operadores IS / LIKE, IS nos permitirá seleccionar exactamente aquello que cumpla nuestros criterios de búsqueda.

SELECT nombre,telefono FROM agenda WHERE nombre ISPerico

Esta sentencia seleccionara el nombre y el teléfono de aquellos campos de la tabla agenda donde el nombre sea Perico o cuya ciudad sea Zaragoza en el siguiente ejemplo.

SELECT nombre, telefono FROM agenda WHERE ciudad ISZaragoza

Ahora que ya sabemos como funciona IS vamos a ver como funciona el operador LIKE , este operador actúa como un comodín haciendo que el criterio de búsqueda actué sustituyendo este carácter por cualquier otro. Veamos ejemplos:

SELECT * FROM agenda WHERE ciudad LIKEM%

En esta consulta seleccionamos todos los campos de la agenda donde la ciudad empiece por M seguido de cualquier otro carácter gracias al uso del comodín. Los resultados podrían devolver contactos de Malaga, Madrid, Mallorca o cualquier otra ciudad que comience por M.

Este operador podremos usarlo repetidas veces dentro de la consulta para poner el comodín tanto de prefijo como sufijo.

SELECT * FROM agenda WHERE ciudad LIKE%M%

En este caso estaríamos seleccionando los datos de la agenda de cualquier ciudad que contenga una M, ya que hemos utilizado el comodín delante y detrás del carácter que usamos como condición.

Estos operadores se pueden combinar entre sí para cumplir condiciones más específicas haciendo uso de los operadores lógicos en este caso AND.

SELECT * FROM agenda WHERE ciudad IS ‘MadridAND nombre LIKEJ%

Esta consulta devolvería los datos de aquellas personas cuyo nombre empiece por J y sean de la ciudad de Madrid.

Este operador lógico es inclusivo, pero también podemos hacer uso del operador lógico OR.

SELECT * FROM empleados WHERE ((Departamento IS ‘Ventas’) OR (Salario > 3000))

En este caso estamos filtrando por todos aquellos trabajadores que sean del departamento de ventas o su salario sea mayor de 3000, cualquier objeto que cumpla alguna de las dos condiciones será mostrado como resultado de la consulta.

Ahora que sabemos hacer las consultas para extraer los datos que necesitemos de la base de datos vamos a ver como podemos actualizar, eliminar e insertar nuevos valores dentro de nuestra base de datos.

Con la directiva DELETE podemos eliminar valores de la base de datos, veamos unos ejemplos:

DELETE FROM empleados WHERE nombre IS ‘Juan’

Esta consulta eliminará a todos los empleados cuyo nombre sea Juan.

DELETE FROM agenda WHERE ciudad IS ‘Jaén’

En este caso estamos borrando todos los registros de la ciudad de Jaén, mucho cuidado con los DELETE que podemos borrar mas de lo que deseamos.

DELETE FROM agenda WHERE ((nombre LIKE ‘M%O’) OR (apellido IS ‘Lopez’))

Aquí estaríamos eliminando de la agenda aquellos contactos cuyo nombre empiece por M y acabe por O o cuyo apellido sea López.

Con la directiva UPDATE podemos actualizar valores de la base de datos, veamos como se construye:

UPDATE table SET campos=valores

UPDATE agenda SET name = ‘Juan’ WHERE name IS ‘Junan’

Hemos cometido un error tipográfico al insertar a Juan en la base de datos y lo hemos llamado Junan, con la consulta anterior corregiríamos el fallo cometido.

UPDATE agenda SET name = ‘Pedro’

Cuidado, que cambiamos todos los nombres de nuestro listín telefónico a Pedro.

Y ya por último vamos a ver la directiva INSERT que nos permite insertar nuevos valores dentro de la base de datos.

INSERT INTO tabla (campos) VALUES (valores)

INSERT INTO agenda (nombre, apellidos) VALUES (Juan, Palomo)

INSERT INTO agenda (nombre,telefono) VALUES (Pepe,600600600)

Creo que aquí ya sobra explicar que las 2 consultas anteriores lo que hacen es crear los registros Juan Palomo y Pepe con su teléfono dentro de nuestro listín telefónico.

Con esto llegamos al final de nuestro tutorial inicial del lenguaje de consultas estructuradas SQL, nos vemos pronto en otro tutorial.