Volver al blog

Una visión general de las consultas en MySQL

Una visión general de las consultas en MySQL

La sostenibilidad en los negocios es difícil sin una gestión de datos adecuada. Construir un sistema bien definido es esencial para gestionar las operaciones internas y externas. Una visión detallada de los datos comerciales ayuda a comprender el flujo de trabajo general y a medir el rendimiento. Además, el uso de bases de datos ahorra tiempo y permite acceder a la información sin esfuerzo.

¿Qué es una base de datos?

Una base de datos es un sistema organizado que se utiliza para almacenar información de forma segura. Ofrece categorización y permite la creación de tablas para ordenar tipos similares de elementos bajo un mismo grupo. Las tablas proporcionan opciones para listar información en múltiples filas y columnas. Como resultado, la calidad y la coherencia de los datos mejoran. Además del almacenamiento y las capacidades de fácil acceso, las bases de datos desempeñan un papel importante en la protección de la privacidad y la seguridad de los sistemas. Ya sea de forma ad hoc o como parte de un proceso codificado en una aplicación, la recuperación de datos es uno de los aspectos más críticos de la gestión de bases de datos.

Una consulta en un DMS relacional es cualquier comando utilizado para recuperar datos de una tabla. SELECT se utilizan casi siempre en las consultas de Lenguaje de Consulta Estructurado (SQL). Existen varios métodos para recuperar información de una base de datos. Generalmente, los desarrolladores prefieren la opción de la línea de comandos porque es rápida y eficaz. Permite enviar consultas sin problemas.

En esta guía, le presentaremos MySQL y analizaremos cómo trabajar con consultas en MySQL. ¡Empecemos!

Requisitos previos

Para seguir este tutorial, necesitará lo siguiente:

Paso 1 — Crear y configurar una base de datos

Antes de comenzar y escribir nuestra primera consulta SQL, necesitamos crear una base de datos y agregarle tablas. Después de eso, poblaremos las tablas utilizando datos de muestra. Trabajar con bases de datos le ayudará a comprender la configuración básica y le dará confianza para trabajar con consultas.

La experiencia práctica es la forma más eficaz de desarrollar conceptos y comprender la importancia de las bases de datos. En esta guía, le guiaremos a través del uso de las bases de datos y su importancia para resolver problemas del mundo real. Veamos un escenario para comprender cómo las bases de datos pueden ayudar a organizar los registros de manera estructurada.

Escenario: Crearemos una base de datos donde un grupo de estudiantes universitarios se va de vacaciones para celebrar sus cumpleaños. Antes de irse de vacaciones, planean participar en una competencia amistosa de natación. Además, cada amigo del grupo planea una lista de tareas pendientes para que su viaje sea emocionante y agradable.

Primero, abra MySQL como usuario root:

Luego, cree una base de datos ejecutando el siguiente comando:

Next, let’s use our database using the following command:

After that, we will create tables on our database. Name the first table as celebration. Our table will have columns for the names of our friends (name), the tournaments they have won (wins) and also a column for their mejor tiempo (time):

Luego poblaremos nuestra tabla con datos:

Luego, cree otra tabla dentro de nuestra base de datos para almacenar información sobre sus actividades de cumpleaños favoritas. Crearemos una tabla llamada vacation y tendrá las siguientes columnas:

Lista

Detalle

name:

Almacena el nombre de cada amigo.

birthdate:

Realiza un seguimiento de la fecha de nacimiento de cada individuo.

activity:

Mantiene un registro de su actividad favorita.

Destino:

Almacena la información del destino favorito de cada individuo.

meal:

Realiza un seguimiento de la comida favorita de un individuo.

Pueble la tabla con datos:

Ya ha terminado de configurar su base de datos.

Paso 2 — Primeros pasos con las sentencias SELECT

Las consultas en SQL normalmente comienzan con SELECT. Se utiliza en las consultas para especificar qué columnas de una tabla deben devolverse con los resultados. Una consulta también debe incluir siempre FROM, que se utiliza para especificar la tabla que consultará la sentencia.

Las consultas siguen la siguiente sintaxis:

Utilizaremos la sintaxis de consulta para devolver la columna meal de la tabla vacation tabla:

Nuestra salida será la siguiente:

También puede seleccionar varias columnas utilizando una coma para separarlas:

Salida:

También puede utilizar un asterisco (*) si desea representar todas las columnas de la tabla:

Salida:

Si desea filtrar los registros que cumplen con una condición específica, utilice WHERE. Las filas que no cumplen con la condición especificada se eliminan de los resultados. La cláusula WHERE utiliza la siguiente sintaxis:

Es un operador de comparación que define cómo se debe comparar la columna especificada con el valor. Los operadores de comparación comunes de SQL incluyen:

Operador

Uso

=

Igualdad

!=

Desigualdad

<

Menor que

>

Mayor que

<=

Menor o igual que

>=

Mayor o igual que

BETWEEN

Comprueba si el valor se encuentra dentro del rango dado.

IN

Comprueba si el valor de una fila está contenido en un conjunto de valores especificados.

EXISTS

Comprueba si existe una fila

LIKE

Comprueba si un valor coincide con la cadena especificada

IS NULL

Comprueba si hay valores nulos

IS NOT NULL

Comprueba todos los valores distintos de NULL

Si quisiera encontrar el destino favorito de Aisha, podría utilizar la siguiente consulta:

La consulta devolverá lo siguiente:

SQL admite el uso de caracteres comodín, los cuales son especialmente útiles en las cláusulas WHERE. Los signos de porcentaje ( %) denotan cero o más caracteres desconocidos, mientras que los guiones bajos ( _) denotan un solo carácter desconocido. Estos son útiles si desea encontrar una entrada específica en una tabla pero no está seguro de ella.

Por ejemplo, si hubiera olvidado el destino favorito de un amigo y solo supiera la letra con la que comienza, por ejemplo, “m”. Puede encontrar el nombre del destino mediante la siguiente consulta:

La consulta devolverá:

Al trabajar con bases de datos, es posible que se encuentre con columnas o tablas con nombres relativamente largos o difíciles de leer. En estos casos, puede hacer que los nombres sean más legibles utilizando la palabra clave AS para crear un alias. Los alias creados con AS solo son válidos durante la duración de la consulta para la que fueron creados:

Paso 3 — Introducción a las funciones de agregación

Al trabajar con datos, no siempre querrá ver los datos en sí. Es posible que prefiera tener información sobre los datos. Al emitir una consulta SELECT, puede interpretar o realizar cálculos en sus datos utilizando la sintaxis SQL. Estas se conocen como funciones de agregación.

La función COUNT cuenta y devuelve el número de filas que cumplen con un conjunto específico de criterios. Por ejemplo, si desea saber cuántos amigos prefieren ir a las Maldivas, puede utilizar la siguiente consulta:

Se devolverán los siguientes resultados:

MIN se utiliza para encontrar el valor más pequeño dentro de una columna especificada:

La consulta mostrará:

MAX se utiliza para encontrar el valor numérico más grande en una columna dada:

El resultado esperado es:

Tanto la función MIN como MAX se pueden utilizar en datos numéricos y alfabéticos. Cuando se aplica a una columna de valores de cadena, la función MIN devuelve el primer valor alfabéticamente.

La función MIN devuelve el primer valor alfabéticamente:

Este será el resultado:

La función MAX devuelve el último valor alfabéticamente:

Este será el resultado:

Paso 4 — Manipular los resultados de las consultas

Otra cláusula popular que se utiliza es la GROUP BY . Se utiliza al realizar una función de agregación en una columna pero en relación con los valores coincidentes en otra:

El resultado será:

Para ordenar los resultados de la consulta, use la cláusula ORDER BY . Los valores numéricos se ordenan de forma ascendente de forma predeterminada, mientras que los valores de texto se ordenan alfabéticamente. La siguiente consulta enumera las columnas name y birthdate , pero ordena los resultados por birthdate:

El resultado será el siguiente:

El resultado está en orden ascendente; para ordenar en orden descendente, cierre la consulta con la palabra DESC:

Eche un vistazo al resultado:

La cláusula HAVING se añadió a SQL para proporcionar una funcionalidad similar a la de la cláusula WHERE y al mismo tiempo ser compatible con funciones de agregación. La diferencia entre estas dos cláusulas es que WHERE sirve para hacer referencia a registros individuales y HAVING hace referencia a registros de grupo. Para ello, la cláusula GROUP BY debe estar presente siempre que se utilice una cláusula HAVING:

La consulta devolverá:

El COUNT es 1 en todos porque no hay dos amigos a los que les guste la misma actividad.

Paso 5 — Consultar múltiples tablas

La cláusula JOIN se puede utilizar en el resultado de una consulta para combinar filas de dos o más tablas. Esto se logra localizando una columna relacionada entre las tablas y ordenando el resultado de manera adecuada.

SELECT que incluyen una cláusula JOIN siguen la siguiente sintaxis:

Si quisiera comprarle a cada uno de sus amigos un trofeo por sus victorias mientras practican natación en sus cumpleaños, podría crear una consulta que una ambas tablas para ayudarle a encontrar toda la información que desea con una sola consulta:

La salida será:

Esta es una cláusula de JOIN interno. Esto se debe a que selecciona todos los registros que tienen valores coincidentes en ambas tablas y los imprime en un conjunto de resultados. Los registros que no coinciden con la consulta no se incluyen. Podemos incluir una nueva fila en nuestras tablas que no corresponda con ninguna entrada:

Luego, vuelva a ejecutar la instrucción SELECT con la cláusula JOIN:

Debido a que la tabla celebration no tiene ninguna entrada para Peter y la tabla vacation no tiene ninguna entrada para Ella, esos registros están ausentes.

Podemos devolver todos los registros de una de las tablas utilizando una cláusula JOIN externa. Esta puede ser un LEFT JOIN o un RIGHT JOIN. Un LEFT JOIN devuelve todos los registros de la tabla izquierda y solo los registros coincidentes de la tabla derecha. La tabla izquierda en el contexto de las uniones externas es la referenciada por la cláusula FROM, y la tabla derecha es cualquier tabla referenciada después de la instrucción JOIN.

Ejecute la consulta de nuevo pero use una cláusula LEFT JOIN:

El comando devolverá todos los registros de la tabla izquierda ( celebration) incluso si no tiene un registro correspondiente en la tabla derecha. Cuando no hay un registro coincidente en la tabla derecha, se devuelve como NULL:

Esta es ahora la cláusula RIGHT JOIN:

Se devolverán todos los valores de la tabla derecha (vacation). Debido a que el birthdate de Peter está registrado en la tabla derecha y no en la tabla izquierda, las columnas name y wins devolverán valores NULL en esas filas:

Puedes usar la cláusula UNION en lugar de JOIN para consultar registros de múltiples tablas. El operador UNION se diferencia de la cláusula JOIN en que combina los resultados de dos sentencias SELECT en una sola columna, en lugar de imprimir los resultados de múltiples tablas como columnas únicas utilizando una sola sentencia SELECT.

Puedes ejecutar esta consulta para ilustrarlo:

La consulta elimina las entradas duplicadas. Este es el comportamiento predeterminado del operador UNION:

Para devolver todas las entradas (además de los duplicados), utiliza el operador UNION ALL:

Resultado:

Las subconsultas son otro método para consultar varias tablas. Las subconsultas son consultas que se encuentran dentro de otra consulta (también conocidas como consultas internas o anidadas). Son útiles cuando se desea comparar los resultados de una consulta con los resultados de una función de agregación independiente.

Usaremos el ejemplo de intentar buscar qué amigo ha ganado más torneos de natación que Ella. En lugar de consultar cuántos partidos ha ganado Ella y luego ejecutar otra consulta para ver quién ha ganado más juegos que eso, puedes calcular ambos con una sola consulta:

La consulta devolverá:

Si quisieras llevar a tus amigos a unas vacaciones sorpresa, puedes usar una consulta para ver quién tiene más victorias y devolver su destino:

La consulta devolverá:

Esta sentencia contiene una subconsulta dentro de otra subconsulta.

Conclusión

La generación de consultas es una de las tareas más comunes en la gestión de bases de datos. Existen varias herramientas de administración de bases de datos como phpMyAdmin y pgAdmin que puedes utilizar para trabajar con consultas y visualizar sus resultados. Sin embargo, la sentencia SELECT desde la línea de comandos es la opción preferida debido a su facilidad de uso y excelente control.

Además, hay muchos tutoriales sobre bases de datos que puedes explorar desde nuestro blog:

¡Feliz computación!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.