Páginas

domingo, 13 de febrero de 2011

MySQL: Lenguaje de Consulta de datos DQL Parte III

Continuando con el Lengaje de consulta de datos DQL, hablaremos de funciones que podemos utilizar para trabajar los datos que obtendremos en nuestras consultas y  las operaciones que podemos realizar con cada uno de estos datos, estas funciones nos ahorran trabajo al momento de mostrar los datos que necesitamos normalmente en nuestros sistemas facilitandonos mucho la vida al momento de trabajar con un lenguaje de programación sea este cual sea.

Bueno ya es hora de que conozcamos estas funciones que hablabamos en la introducción de este artículo, empezemos nuestra lista de funciones con una de las mas básicas y utilizadas:

a)COUNT(): Esta funciób ya la aviamos trabajado en el artículo anterior aunque no la habiamos explicado cual es su uso, lo que esta función hace es contar el numero de registros que devuelve una consulta, veamos un ejemplo:

SELECT COUNT(*) FROM tabla WHERE estatus = 1;

El resultado nos dira cuantos son los registros cuyo estatus es igual a 1, esta consulta es muy util al momento de dar numeros mientras administramos nuestras DB.

b) SUM(): Con esta función realizamos la suma de los valores que se encuentran en un campo especifico, la sintaxis de esta sentencia es la siguiente

SELECT SUM(campo) FROM tabla;

Como resultado de esta consulta obtendremos el valor de la suma de todos los valores que tienen el campo "campo".

c)AVG(): Esta función nos calcula un averaje del campo seleccionado un pequeño ejemplo:

SELECT AVG(campo) FROM tabla;


Esto nos dara un average del campo que seleccionemos.

Nota: Antes de continuar cabe destacar que las funciones que nombramos anteriormente exectuando la funcion COUNT trabaja mayormente con la cláusula GROUP BY, ya que mayormente cuando queremos un averaje por ejemplo de un deporte queremos saberlo por deportista, igualmente una suma.

d)DISTINCT(): Esta funcion nos da como resultados los distintos valores que se encuentran en el campo especificado, en un ejemplo si existen mil registros que tienen el nombre carlos, cien que tienen el nombre luis nos dara como resultado carlos y luis una sola vez. Ejemplo:

SELECT DISTINCT(campo) FROM tabla;

e)MAX(): Esta funcion nos da como resultado el valor máximo que tiene un campo en una tabla, la sintaxis al igual que las funciones anteriores es la siguiente

SELECT MAX(campo) FROM tabla;

f)MIN(): Esta función es la inversa a la descrita anteriormente, ya que la misma nos devuelve el valor mínimo que existe en un campo de la base de datos, sintaxis:

SELECT MIN(campo) FROM tabla;

g)CONCAT(): Con esta función concatenamos el valor de dos campos, la sintaxis de la misma es la siguiente:

SELECT CONCAT(campo1,'valor con el que se concatenara',campo2);

Veamoslo en un ejemplo:

SELECT CONCAT(nombre,', ',apellido) FROM datos_personales;

El resultado nos concatenara el nombre y el apellido separados por una coma.

Nota: Si se desea concatenar con un espacio en blanco con tan solo darle un espacio entre las comillas del segundo parámetro obtendremos el resultado requerido.

h)DATE_FORMAT(): Esta función la utilizamos para darle el formato a nuestros campos de tipo fecha, la sintaxis de esta funcion es a siguiente:

SELECT DATE_FORMAT(campo_date,'%formato'); los formátos de la función DATE_FORMAT los tenemos acontinuación:

Especificador Descripción
%a Día de semana abreviado
(Sun..Sat)
%b Mes abreviado (Jan..Dec)
%c Mes, numérico (0..12)
%D Día del mes con sufijo inglés (0th,
1st, 2nd,
3rd, ...)
%d Día del mes numérico (00..31)
%e Día del mes numérico (0..31)
%f Microsegundos (000000..999999)
%H Hora (00..23)
%h Hora (01..12)
%I Hora (01..12)
%i Minutos, numérico (00..59)
%j Día del año (001..366)
%k Hora (0..23)
%l Hora (1..12)
%M Nombre mes (January..December)
%m Mes, numérico (00..12)
%p
AM o PM
%r Hora, 12 horas (hh:mm:ss seguido de
AM o PM)
%S Segundos (00..59)
%s Segundos (00..59)
%T Hora, 24 horas (hh:mm:ss)
%U Semana (00..53), donde domingo es
el primer día de la semana
%u Semana (00..53), donde lunes es el
primer día de la semana
%V Semana (01..53), donde domingo es
el primer día de la semana; usado con
%X

%v Semana (01..53), donde lunes es el
primer día de la semana; usado con
%x
%W Nombre día semana
(Sunday..Saturday)
%w Día de la semana
(0=Sunday..6=Saturday)
%X Año para la semana donde domingo es el primer día de la semana,
numérico, cuatro dígitos; usado con
%V
%x Año para la semana, donde lunes es el primer día de la semana,
numérico, cuatro dígitos; usado con
%v
%Y Año, numérico, cuatro dígitos
%y Año, numérico (dos dígitos)
%% Carácter '%' literal
Fuente: Manual de MySQL

Los usos de esta función los podemos ver en este artículo  donde se mostraban algunos de los usos que se le da a esta útil función que utilizamos para formatear nuestras fechas.

Estas son algunas de las funciones que nos ofrece MySQL para trabajar los datos que obtenemos, existen otras que podemos encontrar en el manual oficial de este manejador de base de datos.

Operaciones que se pueden realizar en nuestras Consultas con MySQL

En nuestras consultas podemos realizar operaciones aritméticas y lógicas, veamos un poco de estas.

a)SUMA: Anteriormente vimos como sumar todos los datos de un campo, pero que si necesitamos el resultado de la suma de dos campos diferentes?? esto podemos hacerlo por medio del operador +, en nuestra consulta de tal manera que la consulta quede así:

SELECT campo1 + campo2 FROM tabla;

El resultado sera la suma de estos campos de cada uno de los registros, podemos hacerlo con la cantidad de campos que necesitemos en este caso solo se realizo con dos para mostrar la sencilles de la operación.

b)RESTA,MULTIPLICACIÓN Y DIVISIÓN: Tal cual como se indico en la suma podemos hacerlo con la operación de restar, multiplicar y dividir, lo que cambiaria es el  operador a utilizar, siendo los operadores los siguientes:
  • Resta (-).
  • Multiplicacion (*).
  • División (/).
MySQL también  nos permite combinar estas operaciones para obtener resultados necesarios de campos ejemplo:

SELECT (campo1 + campo2) * campo2 - campo3 FROM tabla;

Sencillo la realización de operaciones aritméticas con MySQL verdad, pero que con las operaciones lógicas.

Las operaciones lógicas son un poco más complicadas al momento de trabajar en nuestras tablas ya que mayormente se utilizan las aritméticas pero también podemos hacer uso de estas, veamos como:

Las operaciones lógicas nos dan como resultados dos posibles valores verdadero/falso en el caso de MySQL 1 ó 0,y los operadores son al igual que se indico en la cláusula WHERE los siguientes:

  • Mayor que (>).
  • Menor que(>).
  • Igual (=).
  • Mayor Igual (>=).
  • Menor Igual (<=).
  • Diferente (<>).
Estos son los más usados para mayor información consultar el manual oficial de esta base de datos relacional.

En conclusión aprendimos hoy el trabajo con las funciones y operadores en nuestras consultas DQL, de manera que podamos realizar operaciones aritméticas y lógicas dentro de nuestras consultas teniendo como ventaja que esta nos ahorra realizar este tipo de operaciones con el lenguaje de programación que estemos trabajando nuestro proyecto.

Espero que esta entrada sea de su agrado cualquier sugerencia no duden en indicarla que sera tomada en cuenta, saludos hasta una próxima entrada donde seguiremos el tema de las consultas DQL en MySQL.

domingo, 6 de febrero de 2011

MySQL: Lenguaje de Consulta de datos DQL Parte II

Continuando con el Lenguaje de Consulta de Datos, vamos ha proseguir conociendo las consultas SELECT y sus cláusulas de manera de profundizar un poco mas en la manera en que obtendremos nuestros datos en con nuestras sentencias.

En el artículo anterior vimos como colocar condiciones a nuestras consultas y los distintos operadores que podemos usar para obtener únicamente los datos que necesitamos de nuestras tablas, también estudiamos un poco la cláusula ORDER BY para ordenar los datos obtenidos de nuestra sentencia, pero esto es solo una parte de lo que podemos realizar con el lenguaje de consulta de datos, continuemos con las cláusulas de este tipo de sentencias:

c)LIMIT: Este operador lo utilizamos para indicar la cantidad de resultados que mostraremos en una consulta,esta cláusula nos pide uno o dos parámetros donde indicamos la cantidad de registros que deseamos obtener, por ejemplo:

SELECT * FROM alumno LIMIT 5;

Con esta sentencia obtendremos como resultado los datos de los primeros 5 alumnos, la segunda forma de limitar es indicando un inicio y un fin de los registros que deseamos obtener, un ejemplo:

SELECT * FROM alumno LIMIT 2,10;

De esta manera obtendríamos los datos del tercer hasta el onceavo alumno de nuestra tabla, esto porque?? porque el primer índice que da como resultado MySQL de una tabla es 0.

d)GROUP BY: Como su nombre lo indica sirve para agrupar según un valor especifico, la sintaxis es la siguiente:
SELECT campos FROM tabla GROUP BY campo_agrupar;

Un ejemplo de uso:

SELECT nombre,COUNT(*) FROM empleado GROUP BY nombre;

el resultado nos mostrara los distintos nombres y cuantos hay de cada uno ejemplo


+---------------+---------------------+
| nombre    | COUNT(*) |
+---------------+---------------------+
| Juan         |     5                |
| carlos      |     3                |
| Luis         |     4                |
+--------------+- --------------------+


Estas son algunas de las cláusulas mas utilizadas al momento de trabajar con nuestras consultas de datos, para el próximo artículo hablaremos de la funciones que podemos utilizar al momento de obtener los datos por medio de nuestras consultas, hasta una próxima entrada.