Java y MySQL JDBC: Operaciones básicas
En esta formación vamos a describir las operaciones básicas para el acceso a una Base de Datos MySQL...
¿Quieres comenzar a aprender SQL? En este artículo encontrarás una guía práctica para ser capaz de escribir tus propias consultas y empezar a trabajar en poco tiempo de una forma correcta.
Tabla de contenidos
¿Quieres dar tus primeros pasos con SQL? En este artículo, profundizaremos en la escritura de consultas para obtener información de una base de datos.
Si eres administrador, aprenderás a escribir las consultas relacionadas con la creación y mantenimiento de tablas. Y si eres programador o analista de datos, obtendrás los conceptos más relevantes de SQL para realizar consultas básicas y complejas.
¡Sigue leyendo! Aquí encontrarás una guía práctica para escribir tus propias consultas y empezar a trabajar con datos en cuestión de minutos.
Una base de datos está normalmente compuesta por varias tablas relacionadas entre sí según sea su cardinalidad. Estas tablas, a su vez, poseen campos que representan un determinado tipo de información, con un tipo de dato asociado.
En este contexto, que a continuación veremos detallado en profundidad con diferentes ejemplos, es que resulta necesario aplicar un lenguaje que permita realizar consultas a los datos contenidos en las tablas.
Este lenguaje es SQL (Structured Query Language) y es la herramienta que nos permite definir, tal como su nombre lo indica, un lenguaje estructurado de consulta para obtener información a partir de los datos que las tablas posean.
Será necesario entonces abordar ciertos conceptos tangenciales a la escritura de consultas SQL como la definición de una tabla, sus campos, condiciones, operaciones y funciones de agregación, entre otros, para profundizar el marco en el que se escriben estas consultas.
Una tabla es una estructura de datos que almacena información correspondiente a cada uno de sus campos en forma de registro. Si pensáramos en la tabla “Personas” y como crear sus campos, con sus correspondientes tipos de datos, podemos considerar el siguiente caso:
La sintaxis básica de SQL sigue el siguiente formato:
SELECT <campo>
FROM <tabla>
Supongamos que la tabla “Personas” contiene los siguientes registros:
Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35
La tabla “Personas” puede ser consultada aplicando SQL respetando ciertas palabras claves (cláusula) que conforman la escritura propiamente dicha de la consulta, o query, como suele referenciarse en inglés. Aplicando la sintaxis descripta previamente, en caso que querer consultar el nombre de todas las personas que están almacenadas en la tabla “Personas” será necesario escribir la siguiente consulta SQL:
SELECT nombre
FROM personas
El resultado será el siguiente:
Juan
Ana
Carlos
Alberto
El ejemplo previo es suficiente para poder visualizar los nombres de las personas que se encuentran almacenadas en la tabla “Personas”. Sin embargo, suele ser necesario visualizar más de un campo en cada consulta. ¿Cómo escribir entonces una consulta que permita obtener más de un campo en su resultado? Simplemente, agregando un campo separado por coma a la consulta anterior, de forma general:
SELECT <campo_1>, <campo_2>, ... , <campo_n>
FROM <tabla>
En el caso práctico de la consulta anterior, considerar la siguiente consulta:
SELECT nombre, edad
FROM personas
El resultado será el siguiente:
Juan, 25
Ana, 30
Carlos, 15
Alberto, 35
En caso de que sea necesario mostrar todos los campos, puede realizarse de dos formas distintas, ya sea de forma explícita especificando campo por campo o bien de forma implícita utilizando el carácter “*”. Las siguientes consultas producirán el mismo resultado:
SELECT nombre, apellido, edad
FROM personas
SELECT *
FROM personas
El resultado será el siguiente:
Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35
De manera similar a lo que puede implementarse como un filtro para un conjunto de datos, una condición escrita en una consulta SQL, mostrará aquellos datos que coincidan con la misma. Se expresa con operadores matemáticos y puede aplicarse tanto a campos de tipo texto como numéricos. Considerando el conjunto de datos previo:
Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35
En caso de que se quisiera obtener todos los datos (campos) de las personas mayores a 20 años, la siguiente consulta resuelve la problemática:
SELECT *
FROM personas
WHERE edad > 20
El resultado será el siguiente:
Juan, López, 25
Ana, Pérez, 30
Alberto, Ruiz, 35
Las funciones de agregación son aquellas provistas por el motor de base de datos que permitirán realizar ciertos cálculos predefinidos. Por ejemplo, en caso de que se desee sumar o contar los valores de un campo dentro de varios registros, será necesario utilizar una función que resuelva la operatoria.
Reconsiderando el ejemplo anterior, podría ser necesario contar cuantas personas son mayores de edad, para lo cual la siguiente consulta resuelve la problemática:
SELECT COUNT(*)
FROM personas
WHERE edad > 18
A diferencia de los resultados anteriores, en vez de visualizar los registros que concuerdan con la búsqueda, se obtendrá la cantidad de registros que coincida con la condición:
3
Para el caso de la suma, resulta útil considerar la tabla “Gastos” que puede estar representada de la siguiente manera:
Supongamos que la tabla “Gastos” contiene los siguientes registros:
Luz, €, 75
Electricidad, €, 150
Subscripción, $, 20
Seguro, €, 90
Para sumar todos los gatos, la siguiente consulta resuelve la problemática:
SELECT SUM(*)
FROM gastos
El resultado será el siguiente:
335
En caso de querer filtrar los gastos para realizar la suma según el tipo de moneda será suficiente agregar una condición:
SELECT SUM(*)
FROM gastos
WHERE moneda = "€"
El resultado será el siguiente:
315
La función Max determina cuál es el mayor valor respecto a un campo. La siguiente consulta:
SELECT MAX(monto)
FROM gastos
Determinará el mayor monto:
150
La función Min determina cuál es el menor valor respecto a un campo. La siguiente consulta:
SELECT MIN(monto)
FROM gastos
Determinará el menor monto:
20
La instrucción Group By permite agrupar filas según un mismo criterio. Supongamos que a la tabla “Gastos” descripta previamente se le agrega un campo más:
Luz, €, 75, España
Electricidad, €, 150, España
Subscripción, $, 20, Estados Unidos
Seguro, €, 90, España
Podría ser necesario entonces agrupar (y contar) los gastos según el país en el que se hayan realizado. Esta consulta puede resolver la problemática anterior:
SELECT pais,COUNT(*)
FROM gastos
GROUP BY pais
El resultado será el siguiente:
España, 3
Estados Unidos, 1
Los resultados de una consulta pueden ser ordenados según un campo, de forma ascendente o descendente, según sea necesario. En caso de desear visualizar los gastos ordenados de mayor a menor (descendente) esta consulta resulta de utilidad:
SELECT *
FROM gastos
ORDER BY monto DESC
El resultado será el siguiente:
Electricidad, €, 150, España
Seguro, €, 90, España
Luz, €, 75, España
Subscripción, $, 20, Estados Unidos
Para obtener el resultado opuesto, es suficiente con cambiar el orden en el que se realiza la consulta:
SELECT *
FROM gastos
ORDER BY monto ASC
El resultado será el siguiente:
Subscripción, $, 20, Estados Unidos
Luz, €, 75, España
Seguro, €, 90, España
Electricidad, €, 150, España
En SQL se considera a “Like” como un operador lógico que permite determinar si el texto contenido en un campo concuerda con determinado patrón de búsqueda. Considerando el conjunto de datos previo:
Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35
Una base de datos está normalmente compuesta por varias tablas relacionadas entre sí según sea su cardinalidad. Estas tablas, a su vez, poseen campos que representan un determinado tipo de información, con un tipo de dato asociado.
En este contexto, que a continuación veremos detallado en profunidad con diferentes ejemplos, es que resulta necesario aplicar un lenguaje que permita realizar consultas a los datos contenidos en las tablas.
Este lenguaje es SQL (Structured Query Language) y es la herramienta que nos permite definir, tal como su nombre lo indica, un lenguaje estructurado de consulta para obtener información a partir de los datos que las tablas posean.
Será necesario entonces abordar ciertos conceptos tangenciales a la escritura de consultas SQL como la definición de una tabla, sus campos, condiciones, operaciones y funciones de agregación, entre otros, para profundizar el marco en el que se escriben estas consultas.
Si bien una hoja de cálculo no es una base de datos propiamente dicha, existe una analogía que ayuda a ilustrar el concepto. Resulta de utilidad considerar que la hoja de cálculo en sí puede verse como una tabla, por ejemplo “Personas”, de la base de datos.
A su vez, esta tabla contiene columnas, por ejemplo “Nombre”, “Apellido” y “Edad”, que pueden verse como los campos de una tabla. Por último, las filas que contiene esta hoja de cálculo serían los equivales a los registros almacenados en la tabla.
Replicar los ejemplos vistos en este artículo en el marco de una hoja de cálculo puede ser una buena práctica para afianzar los conceptos de tabla, campos y registros sin la necesidad de instalar una base de datos específica.
Existen múltiples sitios en línea que permiten realizar prácticas de escritura y ejecución de código SQL sin la necesidad de tener que instalar una base de datos localmente. Estos sitios pueden encontrarse bajo los términos de “sql fiddle” o “sql playground” referenciando a un entorno de pruebas en donde puede experimentarse las bondades del lenguaje. Algunos ejemplos de estos sitios pueden ser SQLime, Programiz Online SQL Editor o DB Fiddle.
Existen múltiples opciones, algunas propietarias y otras open source, para construir una base de datos con sus tablas y campos. Estas opciones soportan SQL como lenguaje de consulta con ciertas diferencias menores en la sintaxis según la base de datos que se esté utilizando. Se recomienda verificar las particularidades del lenguaje de consulta en relación a la base de datos para evitar conflictos en la escritura de consultas.
Este artículo contiene las bases para la comprensión de las instrucciones básicas del lenguaje SQL, y su complejidad puede variar según el contexto en el que esté aplicado.
Es probable que un administrador de bases de datos tenga que escribir consultas más orientadas a la creación y mantenimiento de tablas y campos que un programador o analista de datos, los cuales normalmente utilizan SQL para realizar consultas a la base de datos.
Sea cual fuere el rol o contexto en el que se desea aplicar, es recomendable realizar un curso que profundice al respecto como el Curso de SQL desde cero, el Curso de creación y administración de Bases de Datos SQL o ver todos los Cursos de Bases de datos en OpenWebinars.
También te puede interesar
En esta formación vamos a describir las operaciones básicas para el acceso a una Base de Datos MySQL...
PHP es el lenguaje de programación del lado del servidor más conocido y sencillo de utilizar. Aprende a...
En este artículo vamos a intentar resolver todas las dudas que surgen sobre si es mejor usar bases de datos relacionales o...