¿Qué es una consulta SELECT en MySQL?
SELECT QUERY se utiliza para recuperar 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, uno o más conjuntos para adaptarse a criterios específicos. Una consulta seleccionada se puede utilizar en un lenguaje de script como PHP, Ruby, o puede ejecutarla a través del símbolo del sistema.
Sincronizar sentencias SELECT de SQL
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Í
- SELECCIÓN SQL es una palabra clave que indica a la base de datos que desea recuperar datos.
- [DISTINCT | ALL] son palabras clave opcionales que se pueden usar para ajustar los resultados devueltos por una instrucción SQLE SELECT. Si no se especifica nada, TODO se toma como predeterminado.
- {* | [fieldExpression [AS newName]} se debe especificar al menos una parte, «*» seleccionar todos los campos del nombre de la tabla especificada, FieldExpression realiza algunos cálculos en los campos especificados, como agregar números o combinar dos campos de cadena en uno.
- Oh tableName es obligatorio y debe contener al menos una tabla, varias tablas deben separarse con comas o vincularse a la palabra clave JOIN.
- DÓNDE la condición es opcional, se puede utilizar para especificar criterios en el conjunto de resultados devueltos por la consulta.
- GRUPO EN se utiliza para compilar registros que tienen los mismos valores de campo.
- DESPUÉS una condición se usa para especificar criterios cuando se trabaja con una palabra clave GROUP BY.
- PEDIR POR se utiliza para especificar el orden de clasificación del resultado especificado.
*
El símbolo de estrella se utiliza para seleccionar todas las columnas de la tabla. El que se muestra a continuación es como un ejemplo de una instrucción SELECT simple.
SELECT * FROM `members`;
La declaración anterior selecciona todos los campos de la tabla de miembros. Terminar con el hemisferio es una declaración. No es obligatorio, pero se considera una buena práctica poner fin a dichos comentarios.
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
Se dan ejemplos en las dos tablas siguientes
Tabla 1: miembros mesa
número de socio | nombres completos | género | fecha de nacimiento | dirección física_ | direccion postal | contct_ número | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Mujeres | 21-07-1980 | Primera parcela en la 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 | Mujeres | 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 | Mujeres | 14-02-1984 | 2da calle 23 | NULO | NULO | NULO |
Tabla 2: películas mesa
film_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 | Abeto X | 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 |
Inscribir miembros
Creemos 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`;
Los scripts anteriores en un banco de trabajo MySQL producen los siguientes resultados.
número de socio | nombres completos | género | fecha de nacimiento | dirección física_ | direccion postal | contct_ número | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Mujeres | 21-07-1980 | Primera parcela en la 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 | Mujeres | 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 | Mujeres | 14-02-1984 | 2da calle 23 | NULO | NULO | NULO |
Todas las filas y columnas de la tabla de miembros han sido devueltas por nuestra pregunta anterior.
Digamos que solo estamos interesados en obtener los campos full_names, gender, physical_address y email. El siguiente guión nos ayudaría a lograrlo.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Los scripts anteriores en un banco de trabajo MySQL producen los siguientes resultados.
nombres completos | género | dirección física | |
---|---|---|---|
Janet Jones | Mujeres | Primera parcela en la calle No. 4 | Esta dirección de correo electrónico está protegida contra spambots. Necesita tener JavaScript habilitado para verlo. |
Janet Smith Jones | Mujeres | 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 | Mujeres | 2da calle 23 | NULO |
Obtener una lista de películas
Recuerde en nuestra discusión anterior que citamos expresiones utilizadas 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 área. El nombre del director de la película debe estar entre paréntesis. También nos gustaría saber el año en que se estrenó la película. El siguiente guión nos ayuda a hacer precisamente eso.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
AQUÍ
- Se utiliza la función Concat () MySQL, une los valores de las columnas.
- La línea «Concat (` título`, ‘(‘, `Director`, ‘)’) busca el título, agrega un paréntesis abierto seguido del nombre del director y agrega el paréntesis final.
Las partes de la cadena se separan mediante comas en la función Concat ().
Cuando el script anterior se ejecuta en un banco de trabajo MySQL, se 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 de código 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 un nombre de campo para nuestros resultados. Supongamos que queremos usar un nombre de campo más descriptivo en nuestro conjunto de resultados. Usaremos el nombre de alias de la columna para lograr esto. La siguiente es la sintaxis básica del nombre de alias de la columna
SELECT `column_name|value|expression` [AS] `alias_name`;
AQUÍ
- «SELECT` nombre_columna | valor | expresión`» la instrucción SELECT regular que puede ser un nombre de columna, valor o expresión.
- «[AS]» la palabra clave opcional antes de devolver el nombre de alias que indica la frase, el valor o el nombre del campo como.
- «` alias_name` « el nombre de alias que queremos volver a nuestro conjunto de resultados como nombre de campo.
La pregunta anterior con un nombre de columna más vibrante
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 de código negro (Edgar Jimz) | 2010 |
NULO | 2007 |
NULO | 2007 |
NULO | 2007 |
Luna de miel (John Schultz) | 2005 |
NULO | 2012 |
Listar miembros que muestren el año de nacimiento
Supongamos que queremos una lista de todos los miembros que muestre el número de membresía, los nombres completos y el año de nacimiento, podemos usar la función de cable IZQUIERDO para restar el año de nacimiento de la fecha de nacimiento. El guión que se muestra a continuación nos ayuda a hacer precisamente eso.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
AQUÍ
- «IZQUIERDA (` fecha_de_nacimiento`, 4) « un Función de cadena IZQUIERDA toma la fecha de nacimiento como parámetro y devuelve solo 4 caracteres de la izquierda.
- «AS` year_of_birth`» es el nombre de alias de columna que se retroalimentará en nuestros resultados. Nota la AS palabra clave es opcional, puede omitirlo y la consulta seguirá funcionando.
La pregunta anterior a través de MySQL workbench contra myflixdb 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 el banco de trabajo MySQL 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 las preguntas.
Tenga en cuenta que nosotros no escribimos la declaración SELECT. Fue generado para nosotros por MySQL workbench.
¿Por qué usar el comando SQL SELECT cuando tenemos un MySQL Workbench?
Ahora, es posible que se pregunte por qué aprende el comando SQL SELECT para consultar datos de la base de datos cuando solo puede usar una herramienta como MySQL workbenches para obtener los mismos resultados sin conocimiento del lenguaje SQL. Por supuesto que es posible, pero aprender a usar el comando SELECT te da mas flexibilidad y disciplina sobre tu SELECCIONAR sentencias SQL.
El banco de trabajo MySQL está en la categoría »Pregunta por ejemplo«Las herramientas QBE están diseñadas para ayudar a generar declaraciones SQL más rápidamente para aumentar la productividad del usuario.
Al aprender el comando SQL SELECT, puede crear preguntas complejas que no se puede generar fácilmente utilizando la utilidad Consulta por ejemplo como un banco de trabajo MySQL.
Para mejorar la productividad, puede generar el código usando MySQL workbench luego personalizar es a satisfacer sus necesidades. ¡Esto solo puede suceder si comprende cómo funcionan las sentencias 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 frases también se pueden utilizar en la declaración seleccionada. Ejemplo «SELECCIONAR cantidad + precio de ventas»
- El comando SQL SELECT también puede tener otros parámetros opcionales como PLACE, GROUP AT, AFTER, ORDER AT. Se comentarán más adelante.
- MySQL workbench puede ayudar a desarrollar declaraciones SQL, ejecutarlas y producir el resultado de salida en la misma ventana.