SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Consultas en tablas


Sintaxis MySQL de
                                       Consultar los registros de una tabla
selección de registros
                                          Las consultas de los datos y registros contenidos en una tabla ofrecen un amplísimo
                                       abanico de posibilidades a partir de las opciones que tienes descritas al margen. Veamos
Las sentencias de selección de
registros requieren utilizar -entre    algunas de las posibilidades.
otras- palabras clave como las que
enumeramos a continuación.             La consulta más simple
Observa que hay dos tipos:
obligatorias y opcionales, y que         Si utilizamos la sentencia
algunas de las palabras clave son                                        SELECT * FROM tabla
alternativas y por lo tanto,
incompatibles en una misma
sentencia.                             obtendremos información sobre todos los campos (*) y la salida estará en el mismo
                                       orden en el que fueron añadidos los datos. Si visualizas este ejemplo, verás que aparecen
El uso de estas palabras clave
                                   ordenados por el valor autonumérico del campo Contador lo cual, como ves, resulta
requiere que sean insertadas en un
                                   coherente con la afirmación anterior.
determinado orden tal y como se
enumera aquí debajo.

Si alteráramos ese orden (p.                               Ver código fuente           Ejecutar la consulta
ejemplo: colocando GROUP BY
antes de WHERE) nos daría un
error y no se ejecutaría la
                                       Consultando sólo algunos campos
sentencia.
                                         Ahora utilizaremos la sentencia
SELECT
                                                             SELECT campo1,campo2, ... FROM tabla
Es la primera palabra de la
sentencia de búsqueda y tiene
carácter obligatorio.                  y tendremos como resultado una lista completa, por el mismo orden que la anterior, pero
                                       sólo mostrando los campos indicados.
[STRAIGHT_JOIN]

Es una palabra clave de uso                                Ver código fuente           Ejecutar la consulta
opcional (la marcamos con
corchetes para indicar su condición
de opcional) que fuerza al                 ¡Cuidado!
optimizador MySQL a organizar las
tablas en el mismo orden en el que       En los comentarios contenidos en estos ejemplos puedes ver la forma en la que
han sido especificados los campos        mysql_fetch_row y mysql_fetch_array tratan los índices escalares de los resultados que
en la cláusula FORM.                     producen los SELECT de MySQL.
                                         Los valores de los índices se asignan a los contenidos de los campos por el mismo orden en
Sirve para mejorar -en casos muy
concretos- la velocidad de gestión       el que estos se escriben en la sentencia SELECT. El campo1 (primero que se escribe) será
de tablas de gran tamaño.                recogido por el elemento de índice cero del array, el campo2 será recogido con índice uno y
                                         así sucesivamente
[SQL_BIG_RESULT]

Es una cláusula opcional que se     Consultando sólo algunos campos y limitando la salida a n registros
usa para indicar al optimizador que
el resultado va a tener una gran
cantidad de registros.                Ahora utilizaremos la sentencia
                                                    SELECT campo1,campo2, ... FROM tabla LIMIT (n, m)
En ese caso, MySQL utilizará
tablas temporales cuando sea
necesario para optimizar la            y tendremos como resultado una lista que contendrá m registros a partir del n+1, por el
velocidad de gestión de la             mismo orden que la anterior, y mostrando los campos indicados.
información.

Esta cláusula también puede ser
                                                           Ver código fuente           Ejecutar la consulta
utilizada dentro de GROUP BY.

[SQL_BUFFER_RESULT]
                                       Consultando sólo algunos campos y ordenando la salida
Es opcional y su finalidad es la de
forzar a MySQL a tratar el               Utilizaremos la sentencia MySQL de esta forma
resultado en un fichero temporal.
                                       SELECT campo1,campo2, ... FROM tabla ORDER BY campo_n [ASC|DESC],
Ese tratamiento ayuda a MySQL a                              campo_m [ASC|DESC]
liberar recursos más rápidamente
y es de gran utilidad (siempre
desde el punto de vista de la          y tendremos como resultado una lista ordenada por el primero de los campos indicados
rapidez) cuando es necesario un        en ORDER BY, y en caso de coincidencia de valores en ese campo, utilizaríamos el
largo proceso de cálculo antes de      criterio de ordenación señalado en segundo lugar.
enviar los resultados al cliente.

[HIGH_PRIORITY]                                            Ver código fuente           Ejecutar la consulta
Esta cláusula, opcional da
prioridad al comando SELECT            Consulta seleccionando registros
sobre otros comandos que
simultáneamente pudieran estar
intentando acceder a la tabla para       Utilizaremos la sentencia MySQL de esta forma
escribir en ella (añadir o modificar                   SELECT campo1, ... FROM tabla WHERE condición
registros).

Si esta opción está activa, los        que nos devolverá la lista de registros que cumplen la condición indicada.           Aquí
intentos de escritura que pudieran     tienes un ejemplo muy sencillo.
producirse de forma simultánea
deberían esperar al final de este
proceso para ejecutarse.                                   Ver código fuente           Ejecutar la consulta
campo1, campo2, ...
                                          La claúsula WHERE permite un variado abanico de condiciones, que trataremos de
Tienen carácter obligatorio y          resumir aquí. Algunos de ellas son los siguientes:
señalan los campos de la tabla
que deben incluirse en la consulta.
                                                     Tipo                                                         Código   Ver
                                        Operador                     Sintaxis                Descripción
                                                   de campo                                                       fuente ejemplo
La función SELECT sólo devolverá
información de aquellos campos                                                         Selecciona los registros
que estén enumerados aquí.                                                               que contienen en el
                                           =       Numérico     WHERE campo=num
                                                                                       campo un valor igual a
                                                                                                                   Ver   Probar

Si se desea que la consulta                                                                     num
incluya a todos campos bastará                                                         Selecciona los registros
con incluir en esta posición un *,                                                       que contienen en el
que es el carácter comodín que
                                           =       Cadena     WHERE campo="cadena"
                                                                                          campo una cadena
                                                                                                                   Ver   Probar

indica a MySQL que se desea                                                             idéntica a cadena (*)
incluir todos los campos en la                                                         Selecciona los registros
consulta.                                                                                que contienen en el
                                           <       Numérico     WHERE campo<num
                                                                                       campo un valor menor
                                                                                                                   Ver   Probar
Los campos numéricos tienen la                                                                 a num
opción de llevar asociadas
                                                                                       Selecciona los registros
funciones MySQL que devuelven                                                            que contienen en el
información estadística.                                                                 campo una cadena
                                                                                         cuyos n primeros
Algunas de esas funciones son las                                                          caracteres son
siguientes:                                <       Cadena     WHERE campo<"cadena"
                                                                                       menores que los de la
                                                                                                                   Ver   Probar
                                                                                         cadena, siendo n el
                                                                                        número de caracteres
     s   MAX(campo..)
                                                                                        que contiene cadena.
         Devuelve el valor máximo                                                               (**)
         de ese campo en todos los
         registros de la tabla, salvo                                                  Selecciona los registros
         que tenga la opción GROUP                                                       que contienen en el
                                          <=       Numérico    WHERE campo<=num
                                                                                       campo un valor menor
                                                                                                                   Ver   Probar
         BY, en cuyo caso devolverá
                                                                                           O igual a num
         el máximo de cada grupo, o
         cuando tenga activada la                                                      Selecciona los registros
         opción WHERE, en cuyo                                                           que contienen en el
         caso la función sólo será                                                        campo una cadena
                                                                                          cuyos n primeros
         aplicada a los registros que
                                                                                            caracteres son
         resulten de tal filtrado.                                                     menores que los de la
                                                                                          cadena, siendo n el
         MIN(campo..)
     s
                                          <=       Cadena     WHERE campo<="cadena"     número de caracteres       Ver   Probar
         Idéntica a la anterior en                                                      que contiene cadena y
         cuanto a criterios de                                                         añade respecto al caso
         selección, esta función                                                         anterior la opción de
         devuelve el mínimo.                                                              que en caso de que
                                                                                       ambos valores fueran
     s   AVG(campo..)                                                                    iguales también los
         Devuelve el valor promedio                                                         presentaría (**)
         de todos los registros                                                        Selecciona los registros
         numéricos seleccionados                                                         que contienen en el
         con los mismos criterios del      >       Numérico     WHERE campo>num
                                                                                       campo un valor mayor
                                                                                                                   Ver   Probar
         caso anterior.                                                                        a num
                                                                                       Selecciona los registros
     s   SUM(campo..)
                                                                                         que contienen en el
         Devuelve la suma de los                                                         campo una cadena
         valores del campo y sigue                                                       cuyos n primeros
         idénticos criterios de                                                            caracteres son
         selección de campos que en        >       Cadena     WHERE campo>"cadena"
                                                                                       mayores que los de la
                                                                                                                   Ver   Probar
         los casos anteriores.                                                           cadena, siendo n el
                                                                                        número de caracteres
     s   STDDEV(campo..)                                                                que contiene cadena.
         Devuelve la estimación de                                                              (**)
         la desviación típica de la                                                    Selecciona los registros
         población.                                                                      que contienen en el
                                          >=       Numérico    WHERE campo>=num
                                                                                       campo un valor mayor
                                                                                                                   Ver   Probar
     s   COUNT(campo..)                                                                    o igual a num
         Cuenta los valores no
                                                                                       Selecciona los registros
         nulos del campo indicado.                                                       que contienen en el
                                                                                          campo una cadena
En el caso de aplicar estas                                                               cuyos n primeros
funciones, el resultado de la                                                               caracteres son
                                                                                       mayores que los de la
consulta contiene una sola línea,
                                                                                          cadena, siendo n el
salvo que active la opción GROUP
                                          >=       Cadena     WHERE campo>="cadena"     número de caracteres       Ver   Probar
BY, en cuyo caso devolverá tantas                                                       que contiene cadena y
líneas como grupos resulten.                                                           añade respecto al caso
                                                                                         anterior la opción de
FROM tabla                                                                                que en caso de que
                                                                                       ambos valores fueran
Esta expresión -que aunque no                                                            iguales también los
tiene carácter obligatorio podría                                                           presentaría (**)
tomarse como tal– indica a MySQL
                                                                                       Selecciona los registros
el nombre de la tabla en el que                                                          que contienen en el
debe efectuarse la consulta.                                                              campo valores que
                                                   Numérico                            coinciden con alguno de
WHERE definicion                                              WHERE campoIN (valor1,
                                          IN          o
                                                                    valor2..)
                                                                                       los especificados dentro    Ver   Probar
                                                    Cadena                              del paréntesis. Cuando
Esta instrucción tiene carácter                                                         se trata de valores no
opcional y su utilidad es la de                                                          numéricoz han de ir
filtrar la consulta estableciendo los                                                        entre comillas
criterios de selección de los
                                                                                       Selecciona los registros
registros que debe devolver.                                                             en los que los valores
                                                                                       contenidos en el campo
Si se omite WHERE, la consulta                                                            seleccionado están
devolverá todos los registros de la                                                       comprendidos en el
tabla.                                                                                      intervalo valor1
                                                                                           (mínimo) – valor2
En la parte derecha tienes                         Numérico                            (máximo) incluyendo en
                                                              WHERE campo BETWEEN
información sobre la manera de          BETWEEN       o                                   la selección ambos       Ver   Probar
                                                                valor1 AND valor2
definir los criterios de selección                  Cadena                                      extremos.
de esta opción.                                                                         Cuando los contenidos
                                                                                           de los campos son
GROUP BY definicion                                                                        cadenas sigue los
                                                                                       mismos criterios que se
Tiene carácter opcional y su                                                            indican para los demás
finalidad es la de presentar los                                                             operadores de
resultados de la consulta                                                                     comparación
Selecciona los registros
agrupados según el criterio                                                                             en los que los valores
establecido en su definición.               IS NULL         Cadena        WHERE campo IS NULL
                                                                                                       contenidos en el campo
                                                                                                                                   Ver   Probar
                                                                                                       seleccionado son NULOS
Resulta de gran utilidad cuando se
pretende obtener valores                                                                               Selecciona los registros
estadísticos de los registros que                                                                       en los que los valores
cumplen determinadas                     IS NOT NULL        Cadena      WHERE campo IS NOT NULL        contenidos en el campo      Ver   Probar
                                                                                                        seleccionado son NO
condiciones (las condiciones del                                                                                NULOS
agrupamiento).
                                         (*) Cuando se trata de cadenas de caracteres, el concepto menor que significa anterior en la
ORDER BY definicion                      ordenación de los caracteres según su código ASCII y mayor que significa posterior en esa misma
                                         ordenación.
También tiene carácter opcional y        (**) La discriminación de Mayúsculas/Minúsculas dependerá del tipo de campo.
su utilidad es la de presentar la        Recuerda que los tipo BLOB hacen esa discriminación, mientras que los de tipo TEXT son insensibles a
                                         Mayúsculas/Minúsculas.
información de la consulta
ordenada por los contenidos de
uno o varios campos.
                                            Cuando se trata de comparar cadenas MySQL dispone de una potente instrucción
Siempre tiene como opción                (LIKE) que permite establecer los criterios de selección a toda o parte de la cadena. Su
complementaria de que en cada            sintaxis contempla distintas posibilidades utilizando dos comodines>: % (que se
campo utilizado para la                  comporta de forma similar al (*) en las búsquedas de Windows) y _ (de comportamiento
ordenación puede establecerse            similar a (?) en Windows). Aquí tienes algunas de sus posibilidades:
uno de estos criterios ASC
(ascendente, es el valor por
defecto) o DESC.                                                                                                                  Código   Ver
                                                     Sintaxis                                  Descripción
                                                                                                                                  fuente ejemplo
Si no se establece ningún orden,                                             Selecciona todos los registros que contengan la
los resultados de la consulta            WHERE campo LIKE '%cadena%'         cadena en el campo indicado sea cual fuere su         Ver   Probar
aparecerán en el mismo orden en                                                                  posición
el que fueron añadidos los                                                  Selecciona todos los registros en los que el campo
registros.                                WHERE campo LIKE 'cadena%'       indicado que contengan la cadena exactamente al         Ver   Probar
                                                                                          principio del campo
LIMIT m, n
                                                                            Selecciona todos los registros en los que el campo
                                          WHERE campo LIKE '%cadena'       indicado que contengan la cadena exactamente al         Ver   Probar
Esta cláusula es opcional y
                                                                                             final del campo
permite establecer cuántos y
cuáles registros han de                                                     Selecciona todos los registros en los que el primer
presentarse en la salida de la                                              caracter del campo puede ser cualquiera pero los
consulta.                                 WHERE campo LIKE '_cadena%'     siguientes han de ser exactamente los indicados en       Ver   Probar
                                                                          cadena pudiendo ir seguidos de cualesquiera otros
Por ejemplo: LIMIT 4, 8 indicaría a                                                            caracteres
MySQL que la consulta debería
mostrar OCHO registros contados            El comodín (_) puede ir tanto al principio como al final y puede repetirse tantas veces
a partir del quinto (sí, el quinto       como sea necesario. Seria correcto LIKE '___es%' y también LIKE 'a___es%' así
porque LIMIT considera el primer
                                         como: LIKE '%a___es'.
registro como CERO).

El criterio límite se aplica sobre los     Como ves, un montón de posibilidades.
resultados de la salida, es decir,
sobre los resultados                        Aun tiene más opciones WHERE ya que acepta múltiples condiciones vinculadas por
seleccionados, ordenados y               los operadores lógicos AND, OR, NOT o sus sintaxis equivalentes: &&, || y !.
filtrados siguiendo los criterios
establecidos por las cláusulas             El comportamiento de estos operadores es idéntico al descrito para sus homónimos de
anteriores.                              PHP. ¿Los recuerdas?... Aquí los tienes... por si acaso.

Si se escribe como un solo                 Un ejemplo de sintaxis puede ser:
parámetro (LIMIT k), MySQL lo
interpretará como que k es el                              WHERE (campo1=valor AND campo2 LIKE '_cadena%)
segundo de ellos y que el primero
es CERO, es decir:
LIMIT 0, k                               Utilizando funciones sobre campos
Recuento de resultados
                                           La sintaxis
PHP dispone de dos funciones que                         SELECT MAX(campo1), MIN (campo2), ... FROM tabla
permiten conocer el número de
registros de la tabla afectados por
una sentencia MySQL.                     nos devolvería UNA SOLA FILA cuyos valores serían los resultados de la aplicación de las
                                         funciones a todos los registros del campo indicado.
mysql_num_rows ($c )                     Aquí tienes un ejemplo que determina todos los valores de esos estadísticos aplicados al
                                         campo Contador de nuestra famosa tabla demo4.
Esta función devuelve un valor
numérico que recoge el número de
                                           Aquí está el ejemplo
registros que cumplen las
condiciones establecidas en una
consulta. Sólo es válido para
                                                                Ver código fuente           Ejecutar la consulta
sentencia tipo SELECT

mysql_affected_rows($c )
                                         Aplicando la opción GROUP BY
En este caso la función devuelve
también el número de registros              Tal como señalamos al margen, las funciones anteriores pueden aplicarse a grupos de
afectados, pero sólo en el caso de       registros seleccionados mediante un criterio GROUP BY (nombre del campo)
que la sentencia MySQL haya
producido modifi- caciones en los           En este ejemplo obtendremos los mismos parámetros estadísticos que en el anterior,
contenidos de la tabla. Es decir,
                                         pero ahora agrupados por sexo, lo que significaría que obtendremos dos filas de
sólo recoge resultados de
sentencias que: añaden,
                                         resultados. Aquí tienes el ejemplo
modifican o borran registros.
                                                                Ver código fuente           Ejecutar la consulta
Manejo de fechas en las
                                           Como habrás podido observar, la opción SELECT tiene un sinfín de posibilidades.
consultas

MySQL dispone de algunas            Creación de tablas a partir de la consulta de otra tabla
cláusulas de gestión de fechas que
pueden tener una gran utilidad a la   Es frecuente -podría decirse que es lo habitual- relacionar tablas mediante campos
hora de gestionar consultas. Son
                                    con idéntico contenido.
las siguientes:

DATE_FORMAT( campo,formato)                Supongamos que entre los individuos de nuestra tabla demo4 se pretende
establecer un proceso de selección para elegir entre ellos un número determinado de
Las diferentes opciones de formato astronautas, pongamos por caso.
las tienes en la tabla de la
derecha. Es importante tener en       Supongamos también, que la selección va a constar de tres pruebas que serán
cuenta que la sintaxis correcta es
                                   juzgadas y calificadas por tres tribunales distintos.
%Y (sin espacio) ya que si hubiera
un espacio % Y interpretaría la
                                      Una primera opción sería crear tres tablas -una para cada tribunal- e incluir en ellas
letra Y como un texto a incluir.
                                      todos los datos de cada uno de los individuos.
CURDATE()
                                        Esa opción es factible pero no es ni la más cómoda, ni tampoco es la más rápida ni la
Dentro de DATE_FORMAT se              que menos espacio de almacenamiento necesita. No debemos olvidar que una tabla
puede incluir -en vez del nombre      puede tener una enorme cantidad de registros.
del campo- una cadena en la que
se indique una fecha en formato         Una opción alternativa sería crear tres nuevas tablas que sólo contuvieran dos
YYYY-MM-DD hh:mm:ss. Puedes           campos cada una. Por ejemplo el campo DNI y el campo Calificación.
verlo en los ejemplos. De igual
modo es posible sustituir el             Como quiera que el campo DNI ha de contener los mismos valores en las cuatro
nombre del campo -o la cadena-        tablas y además es un campo único podrían crearse las nuevas tablas y luego copiar en
por la función CURDATE() que          cada una de ellas todos los DNI de la tabla original.
recoge la fecha actual del
sistema (únicamente día, mes y           Nos garantizaría que no habría errores en los DNI y además nos garantizaría que se
año). A efectos de horas, minutos
                                      incluyeran todos los aspirantes en esas nuevas tablas.
y segundos CURDATE() va a
tomar el mediodía de la fecha
                                         Aquí tienes el código fuente de un script que crea esas tres tablas (a las que hemos
actual.
                                      llamado demodat1, demodat2 y demodat3.
CURTIME()
                                                                           Ver código fuente
Se comporta de forma similar a
CURDATE().
                                                                                Crear las tablas
Devuelve la hora actual del                                                       anteriores
sistema que alberga el servidor
MySQL en formato hh:mm:ss

CURRENT_TIMESTAMP()                   Una consulta conjunta de varias tablas
Se comporta de forma similar a
CURDATE().                              MySQL permite realizar consultas simultáneas en registros situados en varias tablas.

Devuelve la fecha y hora actual del     Para ese menester se usa la siguiente sintaxis:
sistema en formato YYYY-MM-DD
hh:mm:ss                                     SELECT tabla1.campo1, tabla2.campo2, ... FROM tabla1, tabla2
NOW()
                                      en la que, como ves, modificamos ligeramente la sintaxis ya que anteponemos el
Es un alias de                        nombre de la tabla al del campo correspondiente separando ambos nombres por un
CURRENT_TIMESTAMP().
                                      punto, con lo cual no hay posibilidad de error de identificación del campo incluso
mysql_result($resultado,num,          cuando campos de distinta tabla tengan el mismo nombre.
campo)
                                        Otra innovación -respecto a los ejemplos anteriores- es que detrás de la cláusula
Esta función PHP permite obtener      FROM escribimos los nombres de todas las tablas que está usando SELECT.
un solo campo de uno solo de los
registros obtenidos como resultado       A partir de ahí se pueden establecer todo tipo de relaciones para las sentencias
de una consulta MySQL.                WHERE, ORDER BY y GROUP BY utilizando para ello campos de cualquiera de las
                                      tablas sin otra particularidad más que poner cuidado al aludir a los campos utilizando
El parámetro $resultado es la
                                      siempre la sintaxis nombre_tabla.nombre_campo.
variable que recoge en resultado
obtenido de la ejecución de
                                         A modo de ejemplo -hemos procurado comentarlo línea a línea- aquí tienes un script
mysql_query de forma idéntica a
                                      PHP que hace una consulta conjunta de las tablas demo4, demodat1, demodat2 y
como lo hacíamos en otras
consultas.                            demodat3 y nos presenta una tabla con los datos personales y las puntuaciones de las
                                      tres pruebas así como las suma de puntos de las tres y, además, ordena los resultados -
El valor num es un número entero      de mayor a menor- según la suma de las tres puntuaciones.
que indica el número de fila de la
que queremos extraer el valor
contenido en uno de sus campos.                             Ver código fuente            Ejecutar la consulta

El valor campo indica el número
del campo que tratamos de             Formatos de fechas en consultas MySQL
extraer. Este número (la primera
posición siempre es cero) indica el
número de orden del campo tal         Los formatos soportados por la función DATE_FORMAT format son los siguientes:
como está especificado en la
sentencia SELECT. Si en esta          Formato Descripción                           Sintaxis                       Ver código Ver ejemplo
sentencia se incluyera * (extraer
                                              Día del mes en formato de dos
todos los campos) consideraría el     %d                                            DATE_FORMAT(Nacimiento,'%d') Ver         Probar
                                              dígitos
orden en el que está creada la
estructura de la tabla que los                Día del mes en formato de uno ó
                                      %e                                            DATE_FORMAT(Nacimiento,'%e') Ver         Probar
contiene.                                     dos dígitos
                                              Número de día seguido del sufijo en
Este es el código fuente de un        %D                                            DATE_FORMAT(Nacimiento,'%D') Ver         Probar
                                              inglés
ejemplo comentado y este un                   Número del mes en formato de dos
enlace de prueba del script.          %m                                            DATE_FORMAT(Nacimiento,'%m') Ver         Probar
                                              dígitos
                                              Número del mes en formato de uno                                     Ver       Probar
                                      %c                                            DATE_FORMAT(Nacimiento,'%c')
                                              o dos dígitos
                                      %M      Nombre del mes (en inglés)            DATE_FORMAT(Nacimiento,'%M') Ver         Probar
                                              Nombre del mes abreviado (en
                                      %b                                            DATE_FORMAT(Nacimiento,'%b') Ver         Probar
                                              inglés)
                                              Número del año en formato de dos
                                      %y                                            DATE_FORMAT(Nacimiento,'%y') Ver         Probar
                                              dígitos
                                              Número del año en formato de
                                      %Y                                            DATE_FORMAT(Nacimiento,'%Y') Ver         Probar
                                              cuatro dígitos
                                              Número de día de la semana
                                      %w                                            DATE_FORMAT(Nacimiento,'%w') Ver         Probar
                                              0=Domingo ... 6=Sábado
                                              Nombre del día de la semana (en
                                      %W                                            DATE_FORMAT(Nacimiento,'%W') Ver         Probar
                                              inglés)
Nombre abreviado del día de la
%W                                                 DATE_FORMAT(Nacimiento,'%W') Ver      Probar
          semana (en inglés)
          Número de día del año en formato
%j                                                 DATE_FORMAT(Nacimiento,'%j')    Ver   Probar
          de 3 dígitos
          Número de semana del año
          considerando el DOMINGO como
%U                                                 DATE_FORMAT(Nacimiento,'%U') Ver      Probar
          primer día de la semana (en
          formato de dos dígitos)
          Número de semana del año
          considerando el LUNES como primer
%u                                                 DATE_FORMAT(Nacimiento,'%u') Ver      Probar
          día de la semana (en formato de
          dos dígitos)
La fecha para los ejemplos siguientes la extraemos de una variable del tipo:
                                 $fecha="2005-10-12 14:23:42"
ya que la tabla no contiene campos de fecha que incluyan horas, minutos y segundos
          Hora con dos dígitos (formato 0 a
%H                                                 DATE_FORMAT($fecha,'%H')
          24 horas)
          Hora con uno ó dos dígitos (formato
%k                                                 DATE_FORMAT($fecha,'%k')
          0 a 24 horas)
          Hora con dos dígitos (formato 0 a
%h                                                 DATE_FORMAT($fecha,'%h')
          12 horas)
          Hora con uno ó dos dígitos (formato
%I                                                 DATE_FORMAT($fecha,'%I')
          0 a 12 horas)
%i        Minutos con dos dígitos                  DATE_FORMAT($fecha,'%i')
%s        Segundos con dos dígitos                 DATE_FORMAT($fecha,'%s')
          Hora completa (HH:mm:ss) en
                                                                                   Ver   Probar
%r        formato de 12 horas indicando AM ó       DATE_FORMAT($fecha,'%r')
          PM
          Hora completa (HH:mm:ss) en
%T                                                 DATE_FORMAT($fecha,'%T')
          formato de 24 horas
          Incluye el texto que se indica detrás
% texto                                            DATE_FORMAT($fecha,'% texto')
          del %
          Añade AM ó PM dependiendo de la
%p                                                 DATE_FORMAT($fecha,'%p')
          Hora
Se pueden combinar a voluntad varias opciones utilizando una sintaxis de este
tipo:
'% Hoy es: %d - %m - %Y % es %W % estamos en el mes de %M % <br>y
van transcurridos %j % dias de este año.<br>Son las %r'



     Ejercicio nº 41

 En esta actividad debes elaborar varios scripts –puedes llamarlos ejercicio41_1.php,
 etcétera– que permitan realizar consultas en la base de datos que has creado en el ejercicio
 nº 38.
 Previamente, tendrías que añadirle datos, bien manualmente o bien modificando el ejemplo
 de generación de registros aleatorios que hemos incluido en la página anterior.



     Ejercicio nº 42

 Construye una nueva tabla –tabla2– con los mismos campos que tu tabla1 pero añadiendo
 el carácter de clave principal al campo que recoge el DNI, con lo cual podrás impedir que
 puedan repetirse dos alumnos con el mismo DNI.
 A partir de ella, crea tablas auxiliares (transfiriendo los datos de tabla1) –de calificaciones
 de materias, por ejemplo– que contengan dos campos: DNI y calificación.
 Por último, tendrías que crear todo lo necesario para que el profesor de cada materia,
 pudiera insertar sus calificaciones y, además, crea un documento final que permita visualizar
 simultáneamente las calificaciones del alumno en todas la materias.



                                        Anterior     Indice   Siguiente

Más contenido relacionado

La actualidad más candente (19)

Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
4cod 01 nov_amaza.docx
4cod 01 nov_amaza.docx4cod 01 nov_amaza.docx
4cod 01 nov_amaza.docx
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
SQL
SQLSQL
SQL
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Tutorial SQL
Tutorial SQLTutorial SQL
Tutorial SQL
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
 
PostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - TablasPostgreSQL - Lección 9 - Tablas
PostgreSQL - Lección 9 - Tablas
 
14 structure query language
14 structure query language14 structure query language
14 structure query language
 
LENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADOLENGUAJE DE CONSULTA ESTRUCTURADO
LENGUAJE DE CONSULTA ESTRUCTURADO
 
Manual sql
Manual sqlManual sql
Manual sql
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
SQL
SQLSQL
SQL
 

Destacado

Buscamos 50.0000 Colombianos Emprendedores U19
Buscamos 50.0000 Colombianos Emprendedores   U19Buscamos 50.0000 Colombianos Emprendedores   U19
Buscamos 50.0000 Colombianos Emprendedores U19guest213e911
 
Pruebaparapreescolares
PruebaparapreescolaresPruebaparapreescolares
Pruebaparapreescolaresguestef9977a3
 
Nuevo programa de Doctorado en Administración de Empresas
Nuevo programa de Doctorado en Administración de EmpresasNuevo programa de Doctorado en Administración de Empresas
Nuevo programa de Doctorado en Administración de EmpresasFreelance
 
Centro Historico de Ibarra
Centro Historico de IbarraCentro Historico de Ibarra
Centro Historico de IbarraMaría
 
Toyota Credit 3
Toyota Credit 3Toyota Credit 3
Toyota Credit 3Publilog
 
Austen vs. brontë
Austen vs. brontëAusten vs. brontë
Austen vs. brontëguest5db42
 
JORGE DANIEL GONZALEZ
JORGE DANIEL GONZALEZJORGE DANIEL GONZALEZ
JORGE DANIEL GONZALEZJORGE
 
El Secreto De La Cebolla...
El Secreto De La Cebolla...El Secreto De La Cebolla...
El Secreto De La Cebolla...guestef9977a3
 
Moodle In The Dominican Republic
Moodle In The Dominican RepublicMoodle In The Dominican Republic
Moodle In The Dominican RepublicAlfonso Sintjago
 
Nom Escola Marieta
Nom Escola MarietaNom Escola Marieta
Nom Escola Marietadalmasesca
 
C:\generaciones de computadoras
C:\generaciones de computadorasC:\generaciones de computadoras
C:\generaciones de computadoraselizabethtkm
 

Destacado (20)

Paulo Coelho
Paulo CoelhoPaulo Coelho
Paulo Coelho
 
Docguia
DocguiaDocguia
Docguia
 
Buscamos 50.0000 Colombianos Emprendedores U19
Buscamos 50.0000 Colombianos Emprendedores   U19Buscamos 50.0000 Colombianos Emprendedores   U19
Buscamos 50.0000 Colombianos Emprendedores U19
 
Presentación1
Presentación1Presentación1
Presentación1
 
Pruebaparapreescolares
PruebaparapreescolaresPruebaparapreescolares
Pruebaparapreescolares
 
Alejandro Williams
Alejandro WilliamsAlejandro Williams
Alejandro Williams
 
Nuevo programa de Doctorado en Administración de Empresas
Nuevo programa de Doctorado en Administración de EmpresasNuevo programa de Doctorado en Administración de Empresas
Nuevo programa de Doctorado en Administración de Empresas
 
Centro Historico de Ibarra
Centro Historico de IbarraCentro Historico de Ibarra
Centro Historico de Ibarra
 
Toyota Credit 3
Toyota Credit 3Toyota Credit 3
Toyota Credit 3
 
Austen vs. brontë
Austen vs. brontëAusten vs. brontë
Austen vs. brontë
 
JORGE DANIEL GONZALEZ
JORGE DANIEL GONZALEZJORGE DANIEL GONZALEZ
JORGE DANIEL GONZALEZ
 
Web2.0
Web2.0Web2.0
Web2.0
 
El Fabuloso Mundo Del Facebbok
El Fabuloso Mundo Del FacebbokEl Fabuloso Mundo Del Facebbok
El Fabuloso Mundo Del Facebbok
 
Los áTomos
Los áTomosLos áTomos
Los áTomos
 
El Secreto De La Cebolla...
El Secreto De La Cebolla...El Secreto De La Cebolla...
El Secreto De La Cebolla...
 
Moodle In The Dominican Republic
Moodle In The Dominican RepublicMoodle In The Dominican Republic
Moodle In The Dominican Republic
 
La Television
La TelevisionLa Television
La Television
 
Nom Escola Marieta
Nom Escola MarietaNom Escola Marieta
Nom Escola Marieta
 
ASercom Salientes
ASercom SalientesASercom Salientes
ASercom Salientes
 
C:\generaciones de computadoras
C:\generaciones de computadorasC:\generaciones de computadoras
C:\generaciones de computadoras
 

Similar a 85 Php. Consultas En Tablas

Similar a 85 Php. Consultas En Tablas (20)

Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Sql
SqlSql
Sql
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
MANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓNMANEJO DE SENTENCIAS DE RECUPERACIÓN
MANEJO DE SENTENCIAS DE RECUPERACIÓN
 
Anon manual sql
Anon   manual sqlAnon   manual sql
Anon manual sql
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Gar043 guia de aprendizaje access desempeño
Gar043  guia de aprendizaje access desempeñoGar043  guia de aprendizaje access desempeño
Gar043 guia de aprendizaje access desempeño
 
Funciones bd excelaadas
Funciones bd excelaadasFunciones bd excelaadas
Funciones bd excelaadas
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Sql
SqlSql
Sql
 
Lenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sqlLenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sql
 
Sql b
Sql bSql b
Sql b
 
Compiladores1
Compiladores1Compiladores1
Compiladores1
 
Lenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sqlLenguaje estructurado de consulta sql
Lenguaje estructurado de consulta sql
 
SQL-b.pdf
SQL-b.pdfSQL-b.pdf
SQL-b.pdf
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Sentencias SQL Cristian Benalcázar
Sentencias SQL Cristian BenalcázarSentencias SQL Cristian Benalcázar
Sentencias SQL Cristian Benalcázar
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 

Más de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

Más de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Último

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

85 Php. Consultas En Tablas

  • 1. Consultas en tablas Sintaxis MySQL de Consultar los registros de una tabla selección de registros Las consultas de los datos y registros contenidos en una tabla ofrecen un amplísimo abanico de posibilidades a partir de las opciones que tienes descritas al margen. Veamos Las sentencias de selección de registros requieren utilizar -entre algunas de las posibilidades. otras- palabras clave como las que enumeramos a continuación. La consulta más simple Observa que hay dos tipos: obligatorias y opcionales, y que Si utilizamos la sentencia algunas de las palabras clave son SELECT * FROM tabla alternativas y por lo tanto, incompatibles en una misma sentencia. obtendremos información sobre todos los campos (*) y la salida estará en el mismo orden en el que fueron añadidos los datos. Si visualizas este ejemplo, verás que aparecen El uso de estas palabras clave ordenados por el valor autonumérico del campo Contador lo cual, como ves, resulta requiere que sean insertadas en un coherente con la afirmación anterior. determinado orden tal y como se enumera aquí debajo. Si alteráramos ese orden (p. Ver código fuente Ejecutar la consulta ejemplo: colocando GROUP BY antes de WHERE) nos daría un error y no se ejecutaría la Consultando sólo algunos campos sentencia. Ahora utilizaremos la sentencia SELECT SELECT campo1,campo2, ... FROM tabla Es la primera palabra de la sentencia de búsqueda y tiene carácter obligatorio. y tendremos como resultado una lista completa, por el mismo orden que la anterior, pero sólo mostrando los campos indicados. [STRAIGHT_JOIN] Es una palabra clave de uso Ver código fuente Ejecutar la consulta opcional (la marcamos con corchetes para indicar su condición de opcional) que fuerza al ¡Cuidado! optimizador MySQL a organizar las tablas en el mismo orden en el que En los comentarios contenidos en estos ejemplos puedes ver la forma en la que han sido especificados los campos mysql_fetch_row y mysql_fetch_array tratan los índices escalares de los resultados que en la cláusula FORM. producen los SELECT de MySQL. Los valores de los índices se asignan a los contenidos de los campos por el mismo orden en Sirve para mejorar -en casos muy concretos- la velocidad de gestión el que estos se escriben en la sentencia SELECT. El campo1 (primero que se escribe) será de tablas de gran tamaño. recogido por el elemento de índice cero del array, el campo2 será recogido con índice uno y así sucesivamente [SQL_BIG_RESULT] Es una cláusula opcional que se Consultando sólo algunos campos y limitando la salida a n registros usa para indicar al optimizador que el resultado va a tener una gran cantidad de registros. Ahora utilizaremos la sentencia SELECT campo1,campo2, ... FROM tabla LIMIT (n, m) En ese caso, MySQL utilizará tablas temporales cuando sea necesario para optimizar la y tendremos como resultado una lista que contendrá m registros a partir del n+1, por el velocidad de gestión de la mismo orden que la anterior, y mostrando los campos indicados. información. Esta cláusula también puede ser Ver código fuente Ejecutar la consulta utilizada dentro de GROUP BY. [SQL_BUFFER_RESULT] Consultando sólo algunos campos y ordenando la salida Es opcional y su finalidad es la de forzar a MySQL a tratar el Utilizaremos la sentencia MySQL de esta forma resultado en un fichero temporal. SELECT campo1,campo2, ... FROM tabla ORDER BY campo_n [ASC|DESC], Ese tratamiento ayuda a MySQL a campo_m [ASC|DESC] liberar recursos más rápidamente y es de gran utilidad (siempre desde el punto de vista de la y tendremos como resultado una lista ordenada por el primero de los campos indicados rapidez) cuando es necesario un en ORDER BY, y en caso de coincidencia de valores en ese campo, utilizaríamos el largo proceso de cálculo antes de criterio de ordenación señalado en segundo lugar. enviar los resultados al cliente. [HIGH_PRIORITY] Ver código fuente Ejecutar la consulta Esta cláusula, opcional da prioridad al comando SELECT Consulta seleccionando registros sobre otros comandos que simultáneamente pudieran estar intentando acceder a la tabla para Utilizaremos la sentencia MySQL de esta forma escribir en ella (añadir o modificar SELECT campo1, ... FROM tabla WHERE condición registros). Si esta opción está activa, los que nos devolverá la lista de registros que cumplen la condición indicada. Aquí intentos de escritura que pudieran tienes un ejemplo muy sencillo. producirse de forma simultánea deberían esperar al final de este proceso para ejecutarse. Ver código fuente Ejecutar la consulta campo1, campo2, ... La claúsula WHERE permite un variado abanico de condiciones, que trataremos de Tienen carácter obligatorio y resumir aquí. Algunos de ellas son los siguientes:
  • 2. señalan los campos de la tabla que deben incluirse en la consulta. Tipo Código Ver Operador Sintaxis Descripción de campo fuente ejemplo La función SELECT sólo devolverá información de aquellos campos Selecciona los registros que estén enumerados aquí. que contienen en el = Numérico WHERE campo=num campo un valor igual a Ver Probar Si se desea que la consulta num incluya a todos campos bastará Selecciona los registros con incluir en esta posición un *, que contienen en el que es el carácter comodín que = Cadena WHERE campo="cadena" campo una cadena Ver Probar indica a MySQL que se desea idéntica a cadena (*) incluir todos los campos en la Selecciona los registros consulta. que contienen en el < Numérico WHERE campo<num campo un valor menor Ver Probar Los campos numéricos tienen la a num opción de llevar asociadas Selecciona los registros funciones MySQL que devuelven que contienen en el información estadística. campo una cadena cuyos n primeros Algunas de esas funciones son las caracteres son siguientes: < Cadena WHERE campo<"cadena" menores que los de la Ver Probar cadena, siendo n el número de caracteres s MAX(campo..) que contiene cadena. Devuelve el valor máximo (**) de ese campo en todos los registros de la tabla, salvo Selecciona los registros que tenga la opción GROUP que contienen en el <= Numérico WHERE campo<=num campo un valor menor Ver Probar BY, en cuyo caso devolverá O igual a num el máximo de cada grupo, o cuando tenga activada la Selecciona los registros opción WHERE, en cuyo que contienen en el caso la función sólo será campo una cadena cuyos n primeros aplicada a los registros que caracteres son resulten de tal filtrado. menores que los de la cadena, siendo n el MIN(campo..) s <= Cadena WHERE campo<="cadena" número de caracteres Ver Probar Idéntica a la anterior en que contiene cadena y cuanto a criterios de añade respecto al caso selección, esta función anterior la opción de devuelve el mínimo. que en caso de que ambos valores fueran s AVG(campo..) iguales también los Devuelve el valor promedio presentaría (**) de todos los registros Selecciona los registros numéricos seleccionados que contienen en el con los mismos criterios del > Numérico WHERE campo>num campo un valor mayor Ver Probar caso anterior. a num Selecciona los registros s SUM(campo..) que contienen en el Devuelve la suma de los campo una cadena valores del campo y sigue cuyos n primeros idénticos criterios de caracteres son selección de campos que en > Cadena WHERE campo>"cadena" mayores que los de la Ver Probar los casos anteriores. cadena, siendo n el número de caracteres s STDDEV(campo..) que contiene cadena. Devuelve la estimación de (**) la desviación típica de la Selecciona los registros población. que contienen en el >= Numérico WHERE campo>=num campo un valor mayor Ver Probar s COUNT(campo..) o igual a num Cuenta los valores no Selecciona los registros nulos del campo indicado. que contienen en el campo una cadena En el caso de aplicar estas cuyos n primeros funciones, el resultado de la caracteres son mayores que los de la consulta contiene una sola línea, cadena, siendo n el salvo que active la opción GROUP >= Cadena WHERE campo>="cadena" número de caracteres Ver Probar BY, en cuyo caso devolverá tantas que contiene cadena y líneas como grupos resulten. añade respecto al caso anterior la opción de FROM tabla que en caso de que ambos valores fueran Esta expresión -que aunque no iguales también los tiene carácter obligatorio podría presentaría (**) tomarse como tal– indica a MySQL Selecciona los registros el nombre de la tabla en el que que contienen en el debe efectuarse la consulta. campo valores que Numérico coinciden con alguno de WHERE definicion WHERE campoIN (valor1, IN o valor2..) los especificados dentro Ver Probar Cadena del paréntesis. Cuando Esta instrucción tiene carácter se trata de valores no opcional y su utilidad es la de numéricoz han de ir filtrar la consulta estableciendo los entre comillas criterios de selección de los Selecciona los registros registros que debe devolver. en los que los valores contenidos en el campo Si se omite WHERE, la consulta seleccionado están devolverá todos los registros de la comprendidos en el tabla. intervalo valor1 (mínimo) – valor2 En la parte derecha tienes Numérico (máximo) incluyendo en WHERE campo BETWEEN información sobre la manera de BETWEEN o la selección ambos Ver Probar valor1 AND valor2 definir los criterios de selección Cadena extremos. de esta opción. Cuando los contenidos de los campos son GROUP BY definicion cadenas sigue los mismos criterios que se Tiene carácter opcional y su indican para los demás finalidad es la de presentar los operadores de resultados de la consulta comparación
  • 3. Selecciona los registros agrupados según el criterio en los que los valores establecido en su definición. IS NULL Cadena WHERE campo IS NULL contenidos en el campo Ver Probar seleccionado son NULOS Resulta de gran utilidad cuando se pretende obtener valores Selecciona los registros estadísticos de los registros que en los que los valores cumplen determinadas IS NOT NULL Cadena WHERE campo IS NOT NULL contenidos en el campo Ver Probar seleccionado son NO condiciones (las condiciones del NULOS agrupamiento). (*) Cuando se trata de cadenas de caracteres, el concepto menor que significa anterior en la ORDER BY definicion ordenación de los caracteres según su código ASCII y mayor que significa posterior en esa misma ordenación. También tiene carácter opcional y (**) La discriminación de Mayúsculas/Minúsculas dependerá del tipo de campo. su utilidad es la de presentar la Recuerda que los tipo BLOB hacen esa discriminación, mientras que los de tipo TEXT son insensibles a Mayúsculas/Minúsculas. información de la consulta ordenada por los contenidos de uno o varios campos. Cuando se trata de comparar cadenas MySQL dispone de una potente instrucción Siempre tiene como opción (LIKE) que permite establecer los criterios de selección a toda o parte de la cadena. Su complementaria de que en cada sintaxis contempla distintas posibilidades utilizando dos comodines>: % (que se campo utilizado para la comporta de forma similar al (*) en las búsquedas de Windows) y _ (de comportamiento ordenación puede establecerse similar a (?) en Windows). Aquí tienes algunas de sus posibilidades: uno de estos criterios ASC (ascendente, es el valor por defecto) o DESC. Código Ver Sintaxis Descripción fuente ejemplo Si no se establece ningún orden, Selecciona todos los registros que contengan la los resultados de la consulta WHERE campo LIKE '%cadena%' cadena en el campo indicado sea cual fuere su Ver Probar aparecerán en el mismo orden en posición el que fueron añadidos los Selecciona todos los registros en los que el campo registros. WHERE campo LIKE 'cadena%' indicado que contengan la cadena exactamente al Ver Probar principio del campo LIMIT m, n Selecciona todos los registros en los que el campo WHERE campo LIKE '%cadena' indicado que contengan la cadena exactamente al Ver Probar Esta cláusula es opcional y final del campo permite establecer cuántos y cuáles registros han de Selecciona todos los registros en los que el primer presentarse en la salida de la caracter del campo puede ser cualquiera pero los consulta. WHERE campo LIKE '_cadena%' siguientes han de ser exactamente los indicados en Ver Probar cadena pudiendo ir seguidos de cualesquiera otros Por ejemplo: LIMIT 4, 8 indicaría a caracteres MySQL que la consulta debería mostrar OCHO registros contados El comodín (_) puede ir tanto al principio como al final y puede repetirse tantas veces a partir del quinto (sí, el quinto como sea necesario. Seria correcto LIKE '___es%' y también LIKE 'a___es%' así porque LIMIT considera el primer como: LIKE '%a___es'. registro como CERO). El criterio límite se aplica sobre los Como ves, un montón de posibilidades. resultados de la salida, es decir, sobre los resultados Aun tiene más opciones WHERE ya que acepta múltiples condiciones vinculadas por seleccionados, ordenados y los operadores lógicos AND, OR, NOT o sus sintaxis equivalentes: &&, || y !. filtrados siguiendo los criterios establecidos por las cláusulas El comportamiento de estos operadores es idéntico al descrito para sus homónimos de anteriores. PHP. ¿Los recuerdas?... Aquí los tienes... por si acaso. Si se escribe como un solo Un ejemplo de sintaxis puede ser: parámetro (LIMIT k), MySQL lo interpretará como que k es el WHERE (campo1=valor AND campo2 LIKE '_cadena%) segundo de ellos y que el primero es CERO, es decir: LIMIT 0, k Utilizando funciones sobre campos Recuento de resultados La sintaxis PHP dispone de dos funciones que SELECT MAX(campo1), MIN (campo2), ... FROM tabla permiten conocer el número de registros de la tabla afectados por una sentencia MySQL. nos devolvería UNA SOLA FILA cuyos valores serían los resultados de la aplicación de las funciones a todos los registros del campo indicado. mysql_num_rows ($c ) Aquí tienes un ejemplo que determina todos los valores de esos estadísticos aplicados al campo Contador de nuestra famosa tabla demo4. Esta función devuelve un valor numérico que recoge el número de Aquí está el ejemplo registros que cumplen las condiciones establecidas en una consulta. Sólo es válido para Ver código fuente Ejecutar la consulta sentencia tipo SELECT mysql_affected_rows($c ) Aplicando la opción GROUP BY En este caso la función devuelve también el número de registros Tal como señalamos al margen, las funciones anteriores pueden aplicarse a grupos de afectados, pero sólo en el caso de registros seleccionados mediante un criterio GROUP BY (nombre del campo) que la sentencia MySQL haya producido modifi- caciones en los En este ejemplo obtendremos los mismos parámetros estadísticos que en el anterior, contenidos de la tabla. Es decir, pero ahora agrupados por sexo, lo que significaría que obtendremos dos filas de sólo recoge resultados de sentencias que: añaden, resultados. Aquí tienes el ejemplo modifican o borran registros. Ver código fuente Ejecutar la consulta Manejo de fechas en las Como habrás podido observar, la opción SELECT tiene un sinfín de posibilidades. consultas MySQL dispone de algunas Creación de tablas a partir de la consulta de otra tabla cláusulas de gestión de fechas que pueden tener una gran utilidad a la Es frecuente -podría decirse que es lo habitual- relacionar tablas mediante campos hora de gestionar consultas. Son con idéntico contenido. las siguientes: DATE_FORMAT( campo,formato) Supongamos que entre los individuos de nuestra tabla demo4 se pretende
  • 4. establecer un proceso de selección para elegir entre ellos un número determinado de Las diferentes opciones de formato astronautas, pongamos por caso. las tienes en la tabla de la derecha. Es importante tener en Supongamos también, que la selección va a constar de tres pruebas que serán cuenta que la sintaxis correcta es juzgadas y calificadas por tres tribunales distintos. %Y (sin espacio) ya que si hubiera un espacio % Y interpretaría la Una primera opción sería crear tres tablas -una para cada tribunal- e incluir en ellas letra Y como un texto a incluir. todos los datos de cada uno de los individuos. CURDATE() Esa opción es factible pero no es ni la más cómoda, ni tampoco es la más rápida ni la Dentro de DATE_FORMAT se que menos espacio de almacenamiento necesita. No debemos olvidar que una tabla puede incluir -en vez del nombre puede tener una enorme cantidad de registros. del campo- una cadena en la que se indique una fecha en formato Una opción alternativa sería crear tres nuevas tablas que sólo contuvieran dos YYYY-MM-DD hh:mm:ss. Puedes campos cada una. Por ejemplo el campo DNI y el campo Calificación. verlo en los ejemplos. De igual modo es posible sustituir el Como quiera que el campo DNI ha de contener los mismos valores en las cuatro nombre del campo -o la cadena- tablas y además es un campo único podrían crearse las nuevas tablas y luego copiar en por la función CURDATE() que cada una de ellas todos los DNI de la tabla original. recoge la fecha actual del sistema (únicamente día, mes y Nos garantizaría que no habría errores en los DNI y además nos garantizaría que se año). A efectos de horas, minutos incluyeran todos los aspirantes en esas nuevas tablas. y segundos CURDATE() va a tomar el mediodía de la fecha Aquí tienes el código fuente de un script que crea esas tres tablas (a las que hemos actual. llamado demodat1, demodat2 y demodat3. CURTIME() Ver código fuente Se comporta de forma similar a CURDATE(). Crear las tablas Devuelve la hora actual del anteriores sistema que alberga el servidor MySQL en formato hh:mm:ss CURRENT_TIMESTAMP() Una consulta conjunta de varias tablas Se comporta de forma similar a CURDATE(). MySQL permite realizar consultas simultáneas en registros situados en varias tablas. Devuelve la fecha y hora actual del Para ese menester se usa la siguiente sintaxis: sistema en formato YYYY-MM-DD hh:mm:ss SELECT tabla1.campo1, tabla2.campo2, ... FROM tabla1, tabla2 NOW() en la que, como ves, modificamos ligeramente la sintaxis ya que anteponemos el Es un alias de nombre de la tabla al del campo correspondiente separando ambos nombres por un CURRENT_TIMESTAMP(). punto, con lo cual no hay posibilidad de error de identificación del campo incluso mysql_result($resultado,num, cuando campos de distinta tabla tengan el mismo nombre. campo) Otra innovación -respecto a los ejemplos anteriores- es que detrás de la cláusula Esta función PHP permite obtener FROM escribimos los nombres de todas las tablas que está usando SELECT. un solo campo de uno solo de los registros obtenidos como resultado A partir de ahí se pueden establecer todo tipo de relaciones para las sentencias de una consulta MySQL. WHERE, ORDER BY y GROUP BY utilizando para ello campos de cualquiera de las tablas sin otra particularidad más que poner cuidado al aludir a los campos utilizando El parámetro $resultado es la siempre la sintaxis nombre_tabla.nombre_campo. variable que recoge en resultado obtenido de la ejecución de A modo de ejemplo -hemos procurado comentarlo línea a línea- aquí tienes un script mysql_query de forma idéntica a PHP que hace una consulta conjunta de las tablas demo4, demodat1, demodat2 y como lo hacíamos en otras consultas. demodat3 y nos presenta una tabla con los datos personales y las puntuaciones de las tres pruebas así como las suma de puntos de las tres y, además, ordena los resultados - El valor num es un número entero de mayor a menor- según la suma de las tres puntuaciones. que indica el número de fila de la que queremos extraer el valor contenido en uno de sus campos. Ver código fuente Ejecutar la consulta El valor campo indica el número del campo que tratamos de Formatos de fechas en consultas MySQL extraer. Este número (la primera posición siempre es cero) indica el número de orden del campo tal Los formatos soportados por la función DATE_FORMAT format son los siguientes: como está especificado en la sentencia SELECT. Si en esta Formato Descripción Sintaxis Ver código Ver ejemplo sentencia se incluyera * (extraer Día del mes en formato de dos todos los campos) consideraría el %d DATE_FORMAT(Nacimiento,'%d') Ver Probar dígitos orden en el que está creada la estructura de la tabla que los Día del mes en formato de uno ó %e DATE_FORMAT(Nacimiento,'%e') Ver Probar contiene. dos dígitos Número de día seguido del sufijo en Este es el código fuente de un %D DATE_FORMAT(Nacimiento,'%D') Ver Probar inglés ejemplo comentado y este un Número del mes en formato de dos enlace de prueba del script. %m DATE_FORMAT(Nacimiento,'%m') Ver Probar dígitos Número del mes en formato de uno Ver Probar %c DATE_FORMAT(Nacimiento,'%c') o dos dígitos %M Nombre del mes (en inglés) DATE_FORMAT(Nacimiento,'%M') Ver Probar Nombre del mes abreviado (en %b DATE_FORMAT(Nacimiento,'%b') Ver Probar inglés) Número del año en formato de dos %y DATE_FORMAT(Nacimiento,'%y') Ver Probar dígitos Número del año en formato de %Y DATE_FORMAT(Nacimiento,'%Y') Ver Probar cuatro dígitos Número de día de la semana %w DATE_FORMAT(Nacimiento,'%w') Ver Probar 0=Domingo ... 6=Sábado Nombre del día de la semana (en %W DATE_FORMAT(Nacimiento,'%W') Ver Probar inglés)
  • 5. Nombre abreviado del día de la %W DATE_FORMAT(Nacimiento,'%W') Ver Probar semana (en inglés) Número de día del año en formato %j DATE_FORMAT(Nacimiento,'%j') Ver Probar de 3 dígitos Número de semana del año considerando el DOMINGO como %U DATE_FORMAT(Nacimiento,'%U') Ver Probar primer día de la semana (en formato de dos dígitos) Número de semana del año considerando el LUNES como primer %u DATE_FORMAT(Nacimiento,'%u') Ver Probar día de la semana (en formato de dos dígitos) La fecha para los ejemplos siguientes la extraemos de una variable del tipo: $fecha="2005-10-12 14:23:42" ya que la tabla no contiene campos de fecha que incluyan horas, minutos y segundos Hora con dos dígitos (formato 0 a %H DATE_FORMAT($fecha,'%H') 24 horas) Hora con uno ó dos dígitos (formato %k DATE_FORMAT($fecha,'%k') 0 a 24 horas) Hora con dos dígitos (formato 0 a %h DATE_FORMAT($fecha,'%h') 12 horas) Hora con uno ó dos dígitos (formato %I DATE_FORMAT($fecha,'%I') 0 a 12 horas) %i Minutos con dos dígitos DATE_FORMAT($fecha,'%i') %s Segundos con dos dígitos DATE_FORMAT($fecha,'%s') Hora completa (HH:mm:ss) en Ver Probar %r formato de 12 horas indicando AM ó DATE_FORMAT($fecha,'%r') PM Hora completa (HH:mm:ss) en %T DATE_FORMAT($fecha,'%T') formato de 24 horas Incluye el texto que se indica detrás % texto DATE_FORMAT($fecha,'% texto') del % Añade AM ó PM dependiendo de la %p DATE_FORMAT($fecha,'%p') Hora Se pueden combinar a voluntad varias opciones utilizando una sintaxis de este tipo: '% Hoy es: %d - %m - %Y % es %W % estamos en el mes de %M % <br>y van transcurridos %j % dias de este año.<br>Son las %r' Ejercicio nº 41 En esta actividad debes elaborar varios scripts –puedes llamarlos ejercicio41_1.php, etcétera– que permitan realizar consultas en la base de datos que has creado en el ejercicio nº 38. Previamente, tendrías que añadirle datos, bien manualmente o bien modificando el ejemplo de generación de registros aleatorios que hemos incluido en la página anterior. Ejercicio nº 42 Construye una nueva tabla –tabla2– con los mismos campos que tu tabla1 pero añadiendo el carácter de clave principal al campo que recoge el DNI, con lo cual podrás impedir que puedan repetirse dos alumnos con el mismo DNI. A partir de ella, crea tablas auxiliares (transfiriendo los datos de tabla1) –de calificaciones de materias, por ejemplo– que contengan dos campos: DNI y calificación. Por último, tendrías que crear todo lo necesario para que el profesor de cada materia, pudiera insertar sus calificaciones y, además, crea un documento final que permita visualizar simultáneamente las calificaciones del alumno en todas la materias. Anterior Indice Siguiente