Sie sind auf Seite 1von 23

Sintaxis Select de MySql

La Sintaxis SELECT de MySql te ayuda a visualizar los datos de una tabla, la sintaxis básica
es la siguiente:

SELECT * FROM tutabla

En la sintaxis anterior estamos pidiendo que seleccione todos los datos de la tabla tutabla, el
asterisco (*) simboliza que se van a mostrar todos los campos de tu tabla, y from (de) indica
de que tabla.

Ejemplo:

Vamos a crear una tabla que se va a llamar usuarios y va a tener 5 campos:

nombre: tipo text

apellido1: tipo text

apellido2: tipo text

edad: tipo int

fechanacimiento: tipo date

Si no sabes crear una tabla, estudia primero este post, Crear una base de datos y una tabla en
MySql con phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Una vez que hayas creado la tabla, te quedará así:


Ahora, teniendo la tabla usuarios seleccionada, haz clic en la pestaña Insertar, veras que te
permite agregar datos a los campos de nuestra tabla para formar lo que comúnmente vas a
conocer como registros (un registro es una fila de datos, observa la tabla que esta mas
abajo), si te das cuenta puedes dar de alta 2 registros por ves, ocupa el botón continuar y se
insertarán los 2 registros, vuelve a dar clic a Insertar para insertar otros 2 registros hasta que
acabes de capturar los usuarios de la tabla de abajo
Da de alta a estos usuarios.

Nombre Apellido1 Apellido2 Edad Fecha de nacimiento

Ana Martinez Sandoval 21 1993/08/21

Maria Montalvo Galicia 31 1983/06/02

Javier Peña Lopez 32 1982/07/03

Victor Cerecedo Urbina 20 1994/07/13


Renata Portillo Verdugo 41 1973/06/11

Ya que capturaste a los usuarios, ahora es hora de hace la consulta, ahora teniendo
seleccionada la base de datos, haz clic en la pestaña SQL.

Desde ahí, te permitirá hacer la consulta a la tabla que queremos que es la de usuarios.

Escribe:

SELECT * FROM usuarios y haz clic en continuar


Veras que te despliega los datos que tú insertaste.
CLAUSULA WHERE

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Ahora, te estas preguntando, y si quiero que me muestre solo a los usuarios que se llamen
“Javier”, ¿Cómo le hago?, bien para eso tenemos nuestra clausula WHERE (donde), que
se utiliza para dar una condición a nuestra petición de consulta de la base de datos.

Vamos a hacer un ejemplo con nuestra tabla que creamos, vamos a pedirle a MySql que me
muestre solo los usuarios que se llamen Javier, otra vez, verificamos que este seleccionada
nuestra base de datos y hacemos clic sobre la pestaña SQL.

Luego vamos a insertar esta consulta, haces clic en botón continuar:

SELECT * FROM usuarios WHERE nombre = ‘Javier’

En si la consulta que estamos haciendo es, selecciona todos los campos (*) de (FROM) la
tabla usuarios WHERE (donde) el campo nombre conetnga el valor Javier, presta atención
en que Javier esta encerrado entre comillas, eso es por que es un valor TEXTO, lo que
son valores como texto, fechas, horas, van siempre encerradas entre comillas.
Si observan, la consulta solo devuelve un único registro, esto es por que nuestra base de
datos tiene solo un usuario Javier.
En tus consulta puedes utilizar cualquier campo en este caso (nombre, apellido1, apellido2,
edad o fechanacimiento), para hacer una consulta.

Por ejemplo quiero mirar aquellos usuarios que en su apellido1 contenga el valor Cerecedo,
eso es muy sencillo:

SELECT * FROM usuarios WHERE apellido1 = “Cerecedo”

Inserta la consulta en el editor de SQL y verás que te aparece.

SELECCIONAR CAMPOS ESPECÍFICOS EN UNA CONSULTA.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Bien, si lo que quieres es que dentro de una consulta es que solo te aparezca en el resultado
los campos, nombre, apellido1, apellido2, es muy sencillo ya que podemos elegir que campos
queremos que aparezcan y que campos no.

Ejemplo: Inserta esta query (consulta de datos), dentro del editor de SQL y haces clic en el
botón continuar.

SELECT nombre, apellido1, apellido2 FROM usuarios


Si te das cuenta, en el resultado, solo muestra 3 columnas (campos) y excluye a edad y
fechanacimiento, por que no los incluiste en la consulta.

OPERADO LIKE y NOT LIKE.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/
Hay un operador que te permite hacer una búsqueda por una parte del texto ya sea que
coincida al principio, en medio o al final , vamos a ver como funciona.

Primero hace falta que conozcas este parámetro.

% = El símbolo de porcentaje sustituye un conjunto de caracteres.

Bien sabiendo eso, vamos a hacer un ejemplo, vamos a buscar a los usuarios que en su
apellido1, empiecen con M y que terminen como sea.

SELECT * FROM usuarios WHERE apellido1 like ‘M%’

Pega la consulta en tu editor SQL y ve el resultado


Si te fijas en el resultado solo hay 2 registros que son 2 usuarios que su apellido1 comienzan
con “M” sin importar lo que siguiera, interesante, ¿no?…

Ahora vamos hacer otra consulta que me devuelva los usuarios que en apellido1 haya una “t”
donde sea.

SELECT * FROM usuarios WHERE apellido1 NOT LIKE ‘%t%’

Copia la consulta en el editor de SQL para que veas el resultado.


Observa como sin importar como empieza y como acabe, presento los apellidos que tienen
una “t”.

Lo contrario va a pasar si utilizo NOT LIKE, si utilizo la consulta anterior y le agrego NOT, me
va a devolver los usuarios que su apellido1 no empiecen con “M”.

SELECT * FROM usuarios WHERE apellido1 NOT LIKE ‘M%’

OPERADOR BETWEEN y NOT BETWEEN.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

También podemos realizar consulta pidiendo un rango de algo, como por ejemplo de fechas,
ahí es donde entra el operador between,

Siguiendo con nuestra tabla de usuarios, quiero que me muestre usuarios que nacieron en
1990.

SELECT * FROM usuarios WHERE fechanacimiento BETWEEN ‘1990/01/01’ AND


‘1999/12/31’

Pon esta consulta en tu editor SQL y veamos el resultado.

Como te puedes dar cuenta se están presentando solo los usuarios que nacieron en los
años 90, observa que después de BETWEEN pongo desde donde va a iniciar el criterio
de consulta, enseguida sigue el operador AND y después hasta donde acaba el criterio.
También esta su parte opuesta NOT BETWEEN, que va a devolver lo que no este entre el
rango que especifiques.

Ocupa esta consulta para que veas el ejemplo.


SELECT * FROM usuarios WHERE fechanacimiento NOT BETWEEN ‘1990/01/01’ AND
‘1999/12/31’

Ahora verás a los usuarios que NO nacieron en los años 90.

ORDER BY.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Contamos con el operador order by para ordenar nuestros registros, por ejemplo, quiero que
me ordene a mis usuarios por edad de mas joven a mas viejo.

SELECT * FROM usuarios ORDER BY edad

Pega la consulta en el editor SQL y ve el resultado.


Ahora una variante de ORDER BY es su parámetro DESC, que ordena los valores de mayor a
menor

SELECT * FROM usuarios ORDER BY edad DESC


Si verificas, ahora esta ordenado por edad pero empieza desde el mayor al menor.

OPERADOR LIMIT.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Este operador lo que te ayuda es que tu puedes indicar a través de él cuantos registros
quieres que aparezcan en tu consulta.

Ejemplo: Quiero mostrar solo los 2 últimos usuarios de mi tabla usuarios.


SELECT * FROM usuarios ORDER BY nombre DESC LIMIT 2

Bien, si te das cuenta quiero obterner los 2 últimos registros de mi tabla, por eso primero con
ORDER BY pido que lo ordene del último al primero con su parámetro DESC y con LIMIT 2
indico que quiero solo 2 registros.

Pega la consulta en tu editor SQL y ve el resultado.


Ahora si quieres verificar que realmente sean los 2 últimos registros, ejecuta esta consulta:

SELECT * FROM usuarios

Pegalo en tu editor SQL y veras que aparecen al final estos 2 usuarios.

OPERADOR EXISTS y NOT EXISTS.

NOTA: Si vienes de un enlace externo, puedes crear la tabla usuarios con los datos de arriba
para que puedas hacer el ejercicio, estamos trabajando dentro de phpMyAdmin.

Para abrir phpMyAdmin

http://localhost/phpmyadmin/

Exists lo que te ayuda hacer es comparar el contenido de una tabla con otra y si encuentra el
mismo registro en las 2 tablas te devuelve el registro, mira hagamos un ejemplo.

Vamos a ocupar obviamente una segunda tabla, le vamos a llamar usuarios2 y da de alta
estos 2 trabajadores.
Nombre Apellido1 Apellido2 Edad Fecha de nacimiento

Victor Cerecedo Urbina 20 1994/07/13

Renata Portillo Verdugo 41 1973/06/11

Una vez hecho, esto fíjate en la consulta que voy a poner:

SELECT * FROM usuarios WHERE EXISTS(select * from usuarios2 where


usuarios.nombre = usuarios2.nombre)

Bien, la consulta indica que va a devolver los registros donde el campo nombre de la tabla
usuarios sea igual al campo nombre de la tabla usuarios2, fíjate que la segunda consulta va
entre paréntesis y ahí mismo esta la condición de que el nombre ser igual tanto en la tabla
usuarios como usuarios2.

Y solo aparecen los registros de Victor y Renata, que son los 2 usuarios que su nombre esta
en las 2 tablas.
Ahora hay una variante esta el parámetro not, que la consulta a la inversa, ahora si utilizo not
me va a devolver los usuarios que su nombre no esta en la tabla usuarios2.

Pega la consulta que esta abajo y verás ahora el resultado contrario.

SELECT * FROM usuarios WHERE NOT EXISTS(select * from usuarios2 where


usuarios.nombre = usuarios2.nombre)

Das könnte Ihnen auch gefallen