Consulta en mysql

Solo disponible en BuenasTareas
  • Páginas : 8 (1911 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de noviembre de 2010
Leer documento completo
Vista previa del texto
CONSULTAS EN MYSQL
Para realizar una consulta a una base de datos MySQL desde PHP, deberemos usar dos lenguajes de programación distintos, el lenguaje PHP, para ejecutar la página en el servidor y el lenguaje de SQL para entendernos con la base de datos.

Una vez conectados a la base de datos, crearemos la variable $sql, para almacenar la sentencia que será enviada al servidor MySQL usando lafunción mysql_query().

La sintaxis para realizar una consulta en MySQl es la siguiente: SELECT campos FROM tabla WHERE condiciónDonde campos son los campos que nos devolverá separados por comas o * para devolverlos todos, tabla la tabla en la que trabajaremos y condición es una condición que deberán cumplir las entradas devueltas |

CONSULTAS
Las consultas de selección se utilizan paraindicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset.
Este conjunto de registros puede ser modificable.

Consultas básicas

La sintaxis básica de una consulta de selección es la siguiente:

SELECT
   Campos
FROM
   Tabla

En donde campos es la lista decampos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo:

SELECT
   Nombre, Teléfono
FROM
   Clientes

Esta sentencia devuelve un conjunto de resultados con el campo nombre y teléfono de la tabla clientes.

Devolver Literales

En determinadas ocasiones nos puede interesar incluir una columna con un texto fijo en una consulta de selección, por ejemplo,supongamos que tenemos una tabla de empleados y deseamos recuperar las tarifas semanales de los electricistas, podríamos realizar la siguiente consulta:

SELECT
   Empleados.Nombre, 'Tarifa semanal: ', Empleados.TarifaHora * 40
FROM
   Empleados
WHERE
   Empleados.Cargo = 'Electricista'

Ordenar los registros

Adicionalmente se puede especificar el orden en que se desean recuperar losregistros de las tablas mediante la cláusula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar. Ejemplo:

SELECT
   CodigoPostal, Nombre, Telefono
FROM
   Clientes
ORDER BY
   Nombre

Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes ordenados por el campo Nombre.

Se pueden ordenar los registros por mas de uncampo, como por ejemplo:

SELECT
   CodigoPostal, Nombre, Telefono
FROM
   Clientes
ORDER BY
   CodigoPostal, Nombre

Incluso se puede especificar el orden de los registros: ascendente mediante la cláusula (ASC - se toma este valor por defecto) ó descendente (DESC)

SELECT
   CodigoPostal, Nombre, Telefono
FROM
   Clientes
ORDER BY
   CodigoPostal DESC , Nombre ASCUso de Indices de las tablas

Si deseamos que la sentencia SQL utilice un índice para mostrar los resultados se puede utilizar la palabra reservada INDEX de la siguiente forma:

SELECT ... FROM Tabla (INDEX=Indice) ...

Normalmente los motores de las bases de datos deciden que índice se debe utilizar para la consulta, para ello utilizan criterios de rendimiento y sobre todo los camposde búsqueda especificados en la cláusula WHERE. Si se desea forzar a no utilizar ningún índice utilizaremos la siguiente sintaxis:

SELECT ... FROM Tabla (INDEX=0) ...

Consultas con Predicado

El predicado se incluye entre la cláusula y el primer nombre del campo a recuperar, los posibles predicados son:
Predicado | Descripción |
ALL | Devuelve todos los campos de la tabla |
TOP |Devuelve un determinado número de registros de la tabla |
DISTINCT | Omite los registros cuyos campos seleccionados coincidan totalmente |
DISTINCTOW | Omite los registros duplicados basándose en la totalidad del registro y no sólo en los campos seleccionados. |

ALL

Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona todos los registros que...
tracking img