Bases de datos – 5. Introducción (My)SQL

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Hoy vengo con un post preparado, que creo que os va a gustar. Susan nos ha ido contando durante los pasados meses muchas cosas sobre teoría de bases de datos en una serie de posts, creando una base de conocimientos excelente y dándome la oportunidad de escribir este post sobre SQL.

Introducción a SQL.

Como ya hemos visto en anteriores posts, el diseño, análisis y planificación de bases de datos es algo indispensable. Todo ese conocimiento teórico nos ayudará a crear bases de datos eficientes, robustas y escalables, pero… ¿como se crea una base de datos?.

Antes de seguir, como habréis imaginado (por el título de este rootie) hoy vamos a hablar de SQL (pronunciado sequel o ese-cu-ele), que no es más que otro lenguaje de programación, veamos que dice la Wikipedia sobre él:

SQL (por sus siglas en inglés Structured Query Language; o lenguaje de consulta estructurada) es un lenguaje específico del dominio para la gestión de bases de datos relacionales. Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar información de bases de datos, así como hacer cambios en ellas.

SQL es el lenguaje que nos permite el convertir toda la teoría que tenemos en nuestras cabecitas, en algo «tangible». Para ello podemos utilizar una gran variedad de herramientas, desde Microsoft Access hasta MySQL Server.

Es importante destacar que SQL, es un lenguaje de programación que únicamente podemos utilizar aplicado a bases de datos relacionales, en este rootie, no vamos a hablar de ningún otro tipo de bases de datos.

SQL, lenguaje de programación, ¿si o no?

He comentado que SQL es un lenguaje de programación y puede que alguien entre nuestros lectores no este de acuerdo, pero me gustaría aclarar este punto.

SQL es un lenguaje de programación de cuarta generación (4GLs). Esto quiere decir que es un lenguaje con una sintaxis de muy alto nivel y cercana al lenguaje humano, ademas de ser, por mérito propio, un potente lenguaje para acceso a datos. De hecho SQL tiene todos elementos que podemos encontrar en un lenguaje de programación:

  • Variables
  • Estructuras de control de flujo (if, else)
  • Loops (for, while, etc)
  • Comparadores lógicos

hablas-sql-joputa

SQL es  un lenguaje con una fuerte base teórica y orientado al manejo de conjunto de registros. Esto permite una alta productividad en codificación y la orientación a Objetos.

Sintaxis SQL

Cuando hablamos sobre el lenguaje y la sintaxis de SQL, podemos dividir esta en dos categorías:

DDL : Definition Data Language (Lenguaje de definición de datos).

El DDL es la parte del lenguaje SQL, que se ocupa de la modificación de la estructura de los objetos de la Base de Datos. Este incluye ordenes para crear, modificar o eliminar las tablas donde se almacenará la información. Existen cuatro ordenes básicas; CREATE, ALTER, DROP y TRUNCATE.

CREATE

Esta sentencia nos permite el crear nuevos objetos como bases de datos, tablas, vistas, etc. por consiguiente es uno de los comandos principales para crear una base de datos.

ALTER

Esta sentencia nos permite el modificar objetos existentes, se puede agregar o quitar campos, modificar el tipo del campo, etc:

DROP

Sentencia para eliminar objetos de la base de datos, desde tablas hasta funciones. Es combinable con el comando ALTER.

sql_exploits_of_a_mom
TRUNCATE

Esta sentencia trunca el contenido de una tabla. Es mucho más rápido en ejecución que DROP pero solo podemos utilizarlo para eliminar todos los registros de una tabla ya que no admite cláusulas condicionales.

DML: Data Manipulation Language (Lenguaje de manipulación de datos)

EL DML es la parte del lenguaje SQL que proporciona al usuario la posibilidad de extraer y manipular la información almacenada en la base de datos. A día de hoy el DML más popular en bases de datos relacionales es SQL.

SELECT

Nos permitirá extraer información almacenada en las diferentes tablas de la base de datos. La sentencia SELECT puede ir acompañada de un numero de palabras clave de las cuales algunas son obligatorias de usar, como puede ser FROM.

Palabras clave y uso para consultas SELECT:

  • SELECT Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.
  • ALL/* Indica que queremos seleccionar todos los valores.
  • DISTINCT Indica que queremos seleccionar sólo los valores distintos.
  • FROM Indica la tabla (o tablas) desde la que queremos recuperar los datos.
  • WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR.
  • GROUP BY Especifica la agrupación que se da a los datos.
  • HAVING Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condición debe estar referida a los campos contenidos en ella.
  • ORDER BY Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor predeterminado es ASC.

INSERT INTO

Sentencia que permite agregar información exclusivamente a una tabla.

Cundo hacemos uso de la sentencia INSERT INTO tenemos que tener en cuenta, que el número de columnas y valores ha de ser siempre coincidente.

UPDATE

Utilizaremos esta sentencia para modificar los valores almacenados de un conjunto de registros. Este comando se puede utilizar tal cual, o incluyendo la palabra WHERE para establecer una condición que limite los registros afectados.

DELETE

Y por último, la sentencia DELETE, nos permitirá eliminar uno o varios registros de una tabla. Al igual que UPDATE a esta sentencia podemos agregarle la palabra WHERE. Recomendable siempre ejecutar DELETE en conjunción con WHERE.

Tu cuando olvidas user WHERE en una consulta DELETE… en producción

Y con esto finalizamos nuestro post por hoy, espero que esta breve introducción a SQL os sea útil, en la próxima entrega sobre Bases de datos, hablaremos sobre algunos aspectos mas avanzados de creación y consulta con SQL y de diferentes Motores de Bases de Datos.

Como siempre para cualquier duda, pregunta, comentario, soborno o amenaza, podéis usar los comentarios o en nuestras redes sociales Facebook y Twitter.

One Comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *