Cómo recuperar datos de filas específicas en bases de datos mysql

Con frecuencia, usted no desea recuperar toda la información de una tabla MySQL. ¿Quieres información sólo de las filas seleccionadas. Tres palabras SQL se utilizan con frecuencia para especificar la fuente de la información:

  • DÓNDE: Le permite solicitar información de los objetos de la base con ciertas características. Por ejemplo, puede solicitar los nombres de los clientes que viven en California, o usted puede enumerar sólo los productos que son una determinada categoría de ropa.

  • LÍMITE: Le permite limitar el número de filas de la que se recupera la información. Por ejemplo, usted puede solicitar la información de sólo las tres primeras filas de la tabla.

  • DISTINCT: Le permite solicitar información de una sola fila de filas idénticas. Por ejemplo, en una Iniciar sesión tabla, puede solicitar nombre de inicio de sesión pero no especifique nombres duplicados, lo que limita la respuesta a un registro por cada miembro. Esto responde a la pregunta, " ¿El cliente siempre conectado "? en lugar de la pregunta " cuantas veces el cliente conectado "?

Utilice una cláusula WHERE

los DÓNDE cláusula del SELECT consulta le permite hacer selecciones complicadas. Por ejemplo, supongamos que su jefe quiere saber todos los clientes cuyos apellidos comienzan con B, que viven en Indianápolis, y que tienen un 8, ya sea en su teléfono o número de fax. Usted puede obtener esta lista para su jefe en un SELECT consulta con una DÓNDE cláusula.

El formato básico de la DÓNDE cláusula es

DONDE expresión Y | O EXPRESIÓN Y | O expresión ...

expresión especifica un valor para comparar con los valores almacenados en la base de datos. Sólo se seleccionan las filas que contienen un partido para la expresión. Puede utilizar tantas expresiones, según sea necesario, cada una separadas por Y o Oregón.

Cuando se utiliza Y, ambas de las expresiones conectadas por el Y (es decir, tanto la expresión antes de la Y y la expresión después de la Y) Debe ser verdad para que la fila para ser seleccionado. Cuando se utiliza Oregón, sólo una de las expresiones conectadas por el Oregón debe ser cierto para la fila a seleccionar.

Las expresiones para la cláusula WHERE
ExpresiónEjemploResultado
columna = valorzip = " 12345 "Buscamos solamente las filas en las que 12.345 se almacena en la columna namedzip
columna> Valorzip> " 50000 "Buscamos solamente las filas donde el código postal es 50001 orhigher
columna> = valorzip> = " 50000 "Buscamos solamente las filas donde el código postal es 50000 orhigher
columna lt; valorcremallera lt; " 50000 "Buscamos solamente las filas donde el código postal es 49999 o menor
columna lt; = valorcremallera lt; = " 50000 "Buscamos solamente las filas donde el código postal es 50000 o menor
columna ENTRE valor1 Y valor2zip ENTRE " 20000 " Y " 30000 "Buscamos solamente las filas donde el código postal es mayor que 19999but menos 30.001
columna IN (valor1, valor2, # 133-)zip IN (" 90001 ", " 30044 ")Buscamos solamente las filas donde el código postal es 90001 o 30044
columna NOT IN (valor1, valor2, # 133-)zip NO EN (" 90001 ", " 30044 ")Buscamos solamente las filas donde el código postal es cualquier código postal except90001 o 30044
columna de valor COMO
Nota: El valor puede contener el comodín% (que coincide con cualquier cadena) y _ (que coincide con cualquier carácter).
postal COMO " 9% "Selecciona todas las filas donde el código postal comienza con 9
columna NOT LIKE valor
Nota: El valor puede contener el comodín% (que coincide con cualquier cadena) y _ (que coincide con cualquier carácter).
zip NOT LIKE " 9% "Selecciona todas las filas donde el código postal no comienza with9

Puede combinar cualquiera de las expresiones con Ys y Oregóns. En algunos casos, es necesario utilizar paréntesis para aclarar los criterios de selección. Por ejemplo, puede utilizar la siguiente consulta para responder a la necesidad urgente de su jefe para encontrar todos los clientes cuyos nombres comienzan con B, que viven en Indianápolis, y que tienen un 8, ya sea en su teléfono o número de fax:

SELECT apellido, nombre DESDE CustomerWHERE lastName LIKE "B%" Y la ciudad = "Indianápolis" Y (teléfono LIKE "% 8%" o fax LIKE "% 8%")

Note los paréntesis en la última línea. Usted no obtener los resultados que usted pidió sin los paréntesis.

Sin los paréntesis, cada conector se procesaría en orden desde el primero hasta el último, lo que resulta en una lista que incluye a todos los clientes cuyos nombres comienzan con B y que viven en Indianápolis y cuyos números de teléfono tienen un 8 en ellos y todos los clientes cuyo número de fax tienen un 8 en ellas, estén o no viven en Indianápolis y si su nombre comienza con un B.

Cuando el último Oregón se procesa, se seleccionan los clientes cuyas características coincida con la expresión antes de la Oregón o la expresión después de la Oregón. La expresión antes de la Oregón está conectado a las expresiones anteriores por la anterior Ys, por lo que no está solo, sino la expresión después de la Oregón no estar solo, resultando en la selección de todos los clientes con un 8 en su número de fax.

Usar la palabra clave LÍMITE

LÍMITE especifica cómo se pueden devolver muchas filas. El formulario para LÍMITE es

NúmeroInicio LÍMITE, numberOfRows

La primera fila que desea recuperar es NúmeroInicio, y el número de filas para recuperar es número de filas. Si NúmeroInicio no se especifica, se asume 1. Para seleccionar sólo los tres primeros clientes que viven en Texas, utilice esta consulta:

SELECT * FROM Cliente DONDE estado = "TX" LIMIT 3

Usar la palabra clave DISTINCT

Las filas de la tabla pueden tener valores idénticos en una o más columnas. Sin embargo, en algunos casos, cuando se SELECT una columna, usted no quiere recuperar varias filas con valores idénticos. Usted quiere recuperar el valor de una sola vez. Por ejemplo, suponga que tiene una tabla de productos con un solo campo llamado Categoría.

Los datos, sin duda, contiene muchos productos en cada categoría. Ahora suponga que desea mostrar una lista de todas las categorías disponibles en la base de datos. Usted desea que esta lista para contener cada categoría que aparece sólo una vez. La palabra clave DISTINCT se proporciona para este propósito.

Para evitar una SELECT consultar regresar todos los registros idénticos, agregue la palabra clave DISTINCT inmediatamente despues SELECT, como sigue:

Seleccione una categoría distinta de Producto



» » » Cómo recuperar datos de filas específicas en bases de datos mysql