Declaración SELECT de MySQL con ejemplos

Tabla de contenido:

Anonim

¿Qué es la consulta SELECT en MySQL?

SELECT QUERY se utiliza para obtener los datos de la base de datos MySQL. Las bases de datos almacenan datos para su posterior recuperación. El propósito de MySQL Select es regresar de las tablas de la base de datos, una o más filas que coincidan con un criterio dado. La consulta de selección se puede utilizar en un lenguaje de secuencias de comandos como PHP, Ruby, o puede ejecutarla a través del símbolo del sistema.

Sintaxis de la instrucción SQL SELECT

Es el comando SQL más utilizado y tiene la siguiente sintaxis general

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
AQUÍ
  • SELECT es la palabra clave SQL que le permite a la base de datos saber que desea recuperar datos.
  • [DISTINCT | ALL] son palabras clave opcionales que se pueden utilizar para ajustar los resultados devueltos por la instrucción SQL SELECT. Si no se especifica nada, se asume TODO como predeterminado.
  • {* | [fieldExpression [AS newName]} se debe especificar al menos una parte, "*" seleccionó todos los campos del nombre de tabla especificado, fieldExpression realiza algunos cálculos en los campos especificados, como sumar números o juntar dos campos de cadena en uno.
  • FROM tableName es obligatorio y debe contener al menos una tabla, varias tablas deben separarse con comas o unirse con la palabra clave JOIN.
  • DONDE la condición es opcional, se puede usar para especificar criterios en el conjunto de resultados devuelto por la consulta.
  • GROUP BY se utiliza para juntar registros que tienen los mismos valores de campo.
  • La condición HAVING se usa para especificar criterios cuando se trabaja con la palabra clave GROUP BY.
  • ORDER BY se utiliza para especificar el orden de clasificación del conjunto de resultados.

*

El símbolo de estrella se utiliza para seleccionar todas las columnas de la tabla. Un ejemplo de una instrucción SELECT simple se parece a la que se muestra a continuación.

SELECT * FROM `members`;

La declaración anterior selecciona todos los campos de la tabla de miembros. El punto y coma es una declaración terminada. No es obligatorio, pero se considera una buena práctica terminar sus declaraciones de esa manera.

Ejemplos practicos

Haga clic para descargar la base de datos myflix utilizada para ejemplos prácticos.

Puede aprender a importar el archivo .sql en MySQL WorkBench

Los ejemplos se realizan en las dos tablas siguientes

Tabla 1: tabla de miembros

número de socio nombres completos género fecha de nacimiento dirección física direccion postal contct_ número Email
1 Janet Jones Mujer 21-07-1980 Parcela Primera Calle No 4 Bolsa privada 0759 253542 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
2 Janet Smith Jones Mujer 23-06-1980 Melrose 123 NULO NULO Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
3 Robert Phil Masculino 12-07-1989 3rd Street 34 NULO 12345 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
4 Gloria Williams Mujer 14-02-1984 2da calle 23 NULO NULO NULO

Tabla 2: tabla de películas

movie_id título director year_released categoria ID
1 Piratas del Caribe 4 Rob Marshall 2011 1
2 Olvidando a Sarah Marshal Nicholas Stoller 2008 2
3 X Men NULO 2008 NULO
4 Nombre de código Negro Edgar Jimz 2010 NULO
5 Las niñas de papá NULO 2007 8
6 Ángeles y demonios NULO 2007 6
7 Código da Vinci NULO 2007 6
9 Luna de miel John Schultz 2005 8
dieciséis 67% culpable NULO 2012 NULO

Obtener la lista de miembros

Supongamos que queremos obtener una lista de todos los miembros de la biblioteca registrados de nuestra base de datos, usaríamos el script que se muestra a continuación para hacerlo.

SELECT * FROM `members`;

La ejecución del script anterior en MySQL workbench produce los siguientes resultados.

número de socio nombres completos género fecha de nacimiento dirección física direccion postal contct_ número Email
1 Janet Jones Mujer 21-07-1980 Parcela Primera Calle No 4 Bolsa privada 0759 253542 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
2 Janet Smith Jones Mujer 23-06-1980 Melrose 123 NULO NULO Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
3 Robert Phil Masculino 12-07-1989 3rd Street 34 NULO 12345 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
4 Gloria Williams Mujer 14-02-1984 2da calle 23 NULO NULO NULO

Nuestra consulta anterior ha devuelto todas las filas y columnas de la tabla de miembros.

Digamos que solo estamos interesados ​​en obtener solo los campos full_names, gender, physical_address y email. El siguiente guión nos ayudaría a conseguirlo.

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

La ejecución del script anterior en MySQL workbench produce los siguientes resultados.

nombres completos género dirección física Email
Janet Jones Mujer Parcela Primera Calle No 4 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
Janet Smith Jones Mujer Melrose 123 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
Robert Phil Masculino 3rd Street 34 Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo.
Gloria Williams Mujer 2da calle 23 NULO

Obtener lista de películas

Recuerde en nuestra discusión anterior que mencionamos expresiones que se han usado en declaraciones SELECT. Digamos que queremos obtener una lista de películas de nuestra base de datos. Queremos tener el título de la película y el nombre del director de la película en un campo. El nombre del director de la película debe estar entre paréntesis. También queremos saber el año en que se estrenó la película. El siguiente guión nos ayuda a hacer eso.

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

AQUÍ

  • La función Concat () MySQL se usa para unir los valores de las columnas.
  • La línea "Concat (` title`, '(', `director`, ')') obtiene el título, agrega un corchete de apertura seguido del nombre del director y luego agrega el corchete de cierre.

Las porciones de cadena se separan mediante comas en la función Concat ().

La ejecución del script anterior en MySQL workbench produce el siguiente conjunto de resultados.

Concat (`título`, '(',` director`, ')') year_released
Piratas del Caribe 4 (Rob Marshall) 2011
Olvidando a Sarah Marshal (Nicholas Stoller) 2008
NULO 2008
Nombre en clave Negro (Edgar Jimz) 2010
NULO 2007
NULO 2007
NULO 2007
Luna de miel (John Schultz) 2005
NULO 2012

Nombres de campo de alias

El ejemplo anterior devolvió el código de concatenación como nombre de campo para nuestros resultados. Supongamos que queremos usar un nombre de campo más descriptivo en nuestro conjunto de resultados. Usaríamos el nombre de alias de la columna para lograrlo. La siguiente es la sintaxis básica para el nombre de alias de la columna

SELECT `column_name|value|expression` [AS] `alias_name`;

AQUÍ

  • "SELECT` column_name | value | expression `" es la instrucción SELECT regular que puede ser un nombre de columna, valor o expresión.
  • "[AS]" es la palabra clave opcional antes del nombre de alias que denota la expresión, el valor o el nombre del campo se devolverá como.
  • "` alias_name` " es el nombre de alias que queremos devolver en nuestro conjunto de resultados como nombre de campo.

La consulta anterior con un nombre de columna más significativo

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

Obtenemos el siguiente resultado

Concat year_released
Piratas del Caribe 4 (Rob Marshall) 2011
Olvidando a Sarah Marshal (Nicholas Stoller) 2008
NULO 2008
Nombre en clave Negro (Edgar Jimz) 2010
NULO 2007
NULO 2007
NULO 2007
Luna de miel (John Schultz) 2005
NULO 2012

Obtener una lista de miembros que muestre el año de nacimiento

Supongamos que queremos obtener una lista de todos los miembros que muestren el número de membresía, los nombres completos y el año de nacimiento, podemos usar la función de cadena IZQUIERDA para extraer el año de nacimiento del campo de fecha de nacimiento. El guión que se muestra a continuación nos ayuda a hacer eso.

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

AQUÍ

  • "LEFT (` date_of_birth`, 4) " la función de cadena IZQUIERDA acepta la fecha de nacimiento como parámetro y solo devuelve 4 caracteres de la izquierda.
  • "AS` year_of_birth` " es el nombre de alias de la columna que se devolverá en nuestros resultados. Tenga en cuenta que la palabra clave AS es opcional , puede omitirla y la consulta seguirá funcionando.

La ejecución de la consulta anterior en MySQL workbench contra myflixdb nos da los resultados que se muestran a continuación.

número de socio nombres completos año de nacimiento
1 Janet Jones 1980
2 Janet Smith Jones 1980
3 Robert Phil 1989
4 Gloria Williams 1984

SQL usando MySQL Workbench

Ahora vamos a utilizar MySQL workbench para generar el script que mostrará todos los nombres de campo de nuestra tabla de categorías.

1. Haga clic con el botón derecho en la tabla de categorías. Haga clic en "Seleccionar filas - Límite de 1000".

2. MySQL workbench creará automáticamente una consulta SQL y la pegará en el editor.

3. Se mostrarán los resultados de la consulta

Observe que no escribimos la declaración SELECT nosotros mismos. MySQL workbench lo generó para nosotros.

¿Por qué usar el comando SELECT SQL cuando tenemos MySQL Workbench?

Ahora, podría estar pensando por qué aprender el comando SQL SELECT para consultar datos de la base de datos cuando simplemente puede usar una herramienta como MySQL workbench para obtener los mismos resultados sin conocimiento del lenguaje SQL. Por supuesto que es posible, pero aprender a usar el comando SELECT le brinda más flexibilidad y control sobre sus sentencias SELECT de SQL .

MySQL workbench cae en la categoría de herramientas QBE de " Consulta por ejemplo ". Está destinado a ayudar a generar declaraciones SQL más rápidamente para aumentar la productividad del usuario.

Aprender el comando SQL SELECT puede permitirle crear consultas complejas que no se pueden generar fácilmente con las utilidades Query by Example como MySQL workbench.

Para mejorar la productividad, puede generar el código utilizando MySQL workbench y luego personalizarlo para que cumpla con sus requisitos . ¡Esto solo puede suceder si comprende cómo funcionan las instrucciones SQL!

Resumen

  • La palabra clave SQL SELECT se utiliza para consultar datos de la base de datos y es el comando más utilizado.
  • La forma más simple tiene la sintaxis "SELECT * FROM tableName;"
  • Las expresiones también se pueden usar en la instrucción select. Ejemplo "SELECCIONAR cantidad + precio de ventas"
  • El comando SQL SELECT también puede tener otros parámetros opcionales como WHERE, GROUP BY, HAVING, ORDER BY. Se discutirán más adelante.
  • MySQL workbench puede ayudar a desarrollar declaraciones SQL, ejecutarlas y producir el resultado de salida en la misma ventana.