Recuperar información de varias tablas en MySQL

Las instrucciones creadas hasta el momento obtienen datos de una base de datos. Pero MySQL puede esforzarse más. Ya hemos mencionado que la capacidad de un DBMS relacional radica en su capacidad para combinar información de varias tablas para responder a preguntas que no se pueden solucionar con tablas individuales. En este tutorial veremos cómo escribir instrucciones para ello.

Continuar leyendo «Recuperar información de varias tablas en MySQL»

Permitir y utilizar variables definidas por el usuario en MySQL

MySQL le permite definir sus propias variables, que puede configurar con resultados de consultas y guardar los valores para utilizarlos posteriormente. Imagine que quiere saber qué presidentes nacieron antes de Andrew Jackson. Para ello, puede recuperar su fecha de nacimiento en una variable y seleccionar otros presidentes con una fecha de nacimiento anterior al valor de dicha variable:

Continuar leyendo «Permitir y utilizar variables definidas por el usuario en MySQL»

Comparar patrones en MySQL

MySQL admite operaciones de comparación de patrones que le permiten seleccionar filas sin aplicar un valor de comparación exacto. Para realizar estas comparaciones debe utilicar operadores especiales (LIKE y NOT LIKE) y especificar una cadena que contenga caracteres comodín. El carácter _ compara cualquier carácter y % compara cualquier secuencia de caracteres (incluidas secuencias vacías).

Continuar leyendo «Comparar patrones en MySQL»

Trabajar con fechas en MySQL

Al utilizar fechas en MySQL, debe recordar que siempre debe incluir primero el año. Para escribir 18 de julio de 2008 deber utilizar ‘2008-07-18’. No utilice ’07-18-2008′ o ’18-07-2008′ como está acostumbrado.
Con las fechas puede realizar diferentes operaciones:

  • Ordenar por fecha
  • Buscar fechas o intervalos de fecha concretos.
  • Extraer partes de un valor de fecha, como el año, mes o día.
  • Calcular la diferencia entre fechas.
  • Calcular una fecha sumando o restando un intervalo
Continuar leyendo «Trabajar con fechas en MySQL»

Calcular y asignar nombre a valores de columna de un resultado en MySQL

La mayoría de las consultas vistas hasta ahora generan resultados recuperando valores de tablas. MySQL también le permite calcular valores a partir de los resultados de expresiones, sin hacer referencia a tablas. Las expresiones pueden ser simples o complejas. La siguiente consulta evalúa una expresión simple (una constante) y otra más compleja que implica varias operaciones matemáticas e invocaciones de funciones que generan la raíz cuadrada de una expresión y aplican al resultado tres decimales:

Continuar leyendo «Calcular y asignar nombre a valores de columna de un resultado en MySQL»

Ordenar los resultados de una consulta en MySQL

Todo usuario de MySQL comprueba que al crear una tabla, añadir filas y ejecutar una instrucción SELECT, las filas se recuperan en el mismo orden en el que se hayan añadido. Parece intuitivo, por lo que es natural asumir que las filas se recuperen de este modo predeterminado.
Pero no es el caso. Si borra y añade filas tras cargar inicialmente la tabla, es probable que dichas acciones modifiquen el orden en que el servidor devuelve las filas de la tabla. (Al borrar filas, se generan huecos en la tabla que posteriormente MySQL trata de completar.

Continuar leyendo «Ordenar los resultados de una consulta en MySQL»

El valor NULL en MySQL

El valor NULL es especial. Equivale a «ningún valor» o «valor desconocido», por lo que no puede compararlo con valores conocidos como haría con dos valores normales. Si intenta usar NULL con los operadores de comparación aritméticos convencionales, el resultado sería indefinido:

mysql> SELECT NULL < 0, NULL = 0, NULL <> 0, NULL > 0;

NULL < 0 NULL = 0 NULL <> 0 NULL > 0
NULL NULL NULL NULL

Continuar leyendo «El valor NULL en MySQL»

Añadir nuevas filas desde un archivo MySQL

Otro método para añadir filas a una tabla consiste en leerlas directamente desde un archivo, que puede incluir instrucciones INSERT o datos sin procesar. Por ejemplo, la distribución sampdb contiene el archivo insert_president.sql, con instrucciones INSERT para añadir nuevas filas a la tabla president. Si se encuentra en el mismo directorio que el archivo, puede ejecutar las intrucciones de esta forma:

% mysql sampdb < insert_president.sql

Continuar leyendo «Añadir nuevas filas desde un archivo MySQL»

Crear tablas en Mysql

Ya podemos crear las tablas de la asociación Historical League de ejemplo. Para ello, utilizaremos la instrucción CREATE TABLE, que utiliza el siguiente formato:

CREATE TABLE nombre_tabla (especificaciones_columna);

nombre_tabla indica el nombre asignado a la tabla y especificaciones_columna muestra las especificaciones de las columnas de la tabla. También incluye definiciones para los índices, si los hubiera.
Para la tabla president de ejemplo, escriba la siguiente instrucción:

Continuar leyendo «Crear tablas en Mysql»

Diagramar las tablas en MySQL

A lo largo de este tutorial, crearemos las tablas necesarios para la base de datos sampdb. Primero, veremos qué tablas se necesitan para la organización Historical League. Es la parte en que otros tutoriales hablan de análisis y diseño, diagramas de relaciones de entidades, procedimientos de normalización y demás. Ya habrá tiempo para eso, pero prefiero pensar en el aspecto que tendrá la base de datos: qué tablas debe incluir, los contenidos de cada tabla y los aspectos implicados en la representación de los datos.

Continuar leyendo «Diagramar las tablas en MySQL»

Crear una base de datos en MySQL

Primero crearemos la base de datos de ejemplo sampdb y sus tablas, las completaremos con datos y realizaremos consultas sencillas en los mismos. El uso de una base de datos implica varios pasos:

  1. Crear (inicializar) la base de datos.
  2. Crear las tablas de la base de datos.
  3. Manipular las tablas mediante la inserción, recuperación, modificación o eliminación de datos en las mismas.
Continuar leyendo «Crear una base de datos en MySQL»

Ejecutar instrucciones SQL

Una vez que haya conectado con el servidor, ya puede emitir instrucciones SQL para su ejecución en el servidor. En este tutorial describiremos principios generales sobre cómo interactuar con mysql.

Para introducir una instrucción en mysql, basta con escribirla. Al final de la instrucción, añada punto y coma (;) y pulse Intro. El punto y coma indica a mysql que la instrucción está entera. Tras ello, la envía al servidor para su ejecución. El servidor la procesa y devuelve el resultado a mysql, que lo muestra.

Continuar leyendo «Ejecutar instrucciones SQL»

Establecer y terminar conexiones al servidor MySQL

Para conectarse al servidor, invoque el programa mysql desde la línea de comandos. El comando es el siguiente:

% mysql options

En este tutorial utilizaremos % para indicar la línea de comandos. Es uno de los comandos estándar de Unix, como $. En Windows, verá una línea de comandos similar a C:/>. Al introducir los comandos de los ejemplos, no es necesario añadir estos símbolos.

Continuar leyendo «Establecer y terminar conexiones al servidor MySQL»