¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Aspectos Básicos de MySQL
Introducción a MySQL
SQL son las siglas de Structured Query Language, es decir, lenguaje estructurado de consulta.
Es un lenguaje estándar no procedimental que se utiliza para definir, gestionar y manipular la información contenida en una Base de Datos Relacional.
SQL está compuesto a su vez por 3 lenguajes diferentes, en función de las acciones a realizar:
- Lenguaje de Definición de Datos (DDL):
- Crear objetos de base de datos: Sentencia CREATE
- Eliminar objetos de la base de datos: Sentencia DROP
- Modificar objetos de la base de datos: Sentencia ALTER
- Lenguaje de manipulación de datos (DML):
- Recuperar información: Sentencia SELECT
- Actualizar información:
- Añadir filas: Sentencia INSERT
- Eliminar filas: Sentencia DELETE
- Modificar filas: Sentencia UPDATE
- Lenguaje de control de datos:
- Crear privilegios de acceso a los datos: Sentencia GRANT
- Quitar privilegios de acceso a los datos: Sentencias REVOKE
Existen diferentes Sistemas Gestores de Bases de Datos (SGBD) que implementan el estándar SQL, aunque en cada uno muestra algunas diferencias respecto de los demás, de forma que el estándar aunque muy similar, no se implementa exactamente igual en cada SGBD.
De entre los distintos SGBD que existen, nos vamos a centrar en MySQL, por ser libre, de código abierto y suficientemente potente para multitud de aplicaciones.
Datos
Literales
La información que almacena MySQL se guarda con literales que pueden ser de diferentes tipos:
- Numérico: Contruidos mediante una cadena de dígitos que pueden llevar un punto decimal, y que pueden ir precedidos por un signo + ó -. Ejemplos: -273.6, 25.5, +25.5
- Cadena: Las cadenas de caracteres van siempre encerradas entre comillas simples. Ejemplos: 'Hola mundo', 'Pza. del Carmen, s/n'.
- Fecha: Son constantes de cadena que mantienen un formato determinado, de forma que el sistema puede extraer información de forma automática referente a la fecha y/o hora.
Tipos de datos
Existen multitud de tipos de datos en MySQL. A continuación se comentarán algunos de los más significativos:
- Datos numéricos:
- INT[(num)] o INTEGER[(num)]: Datos numéricos enteros.
- num: Número de dígitos.
- FLOAT(escala, precisión): Datos numéricos en coma flotante.
- escala: Número de dígitos.
- precisión: Número de posiciones decimales.
- NUMERIC(escala, precisión): Datos numéricos.
- escala: Número de dígitos.
- precisión: Número de posiciones decimales. Si no se especifica, se supone 0 y funcionará como un INTEGER.
- Cadenas de caracteres:
- CHAR(long): Guarda cadenas de caracteres de longitud fija.
- long: Número de caracteres. Puede estar comprendido entre 0 y 255. 1 carácter = 1 byte.
- VARCHAR(long): Guarda cadenas de caracteres de longitud variables, de forma que sólo ocupa el espacio de datos correspondiente al número de caracteres introducidos.
- long: Número de caracteres. Puede estar comprendido entre 0 y 255. 1 carácter = 1 byte.
- TEXT: Guarda cadenas de caracteres de longitud máxima 65.535 caracteres. Su modo de almacenamiento es igual que el VARCHAR.
- LONGTEXT: Guarda cadenas de caracteres de longitud máxima 4 Gigacaracteres (4.294.967.295 caracteres). Su modo de almacenamiento es igual que el VARCHAR.
- Fechas:
- DATE: Almacena fechas en formato 'YYYY-MM-DD'.
- DATETIME: Almacena fechas y horas en formato 'YYYY-MM-DD HH:MM:SS'.
- TIME: Almacena horas en formato 'HH:MM:SS'.
- Binarios:
- BOOLEAN: Almacena valores binarios 1 (TRUE), 0 (FALSE).
Operadores
Los operadores utilizados en MySQL son:
- Aritméticos: Suma (+), resta (-), multiplicación (*), división (/), división entera (Div).
- De comparación:
- Retornan según proceda Verdadero, Falso o Nulo (TRUE, FALSE, NULL).
- Igual(
, distinto(!
, menor(<), menor o igual(⇐), mayor(>), mayor o igual(>
, BETWEEN / NOT BETWEEN, IN / NOT IN, IS NULL / IS NOT NULL, LIKE.
- BETWEEN:
- Forma de uso: BETWEEN valor1 AND valor2
- Retorna TRUE si el resultado está contenido en el rango especificado, incluyendo los extremos.
- IN:
- Forma de uso: IN(lista de valores separados por comas)
- Retorna TRUE si el valor comparado se encuentra dentro del listado especificado.
- IS NULL:
- Retorna TRUE si el valor comparado es Nulo (NULL).
- LIKE:
- Permite comparar dos cadenas de caracteres, con la peculiaridad de que admite caracteres comodines. Los caracteres comodines permiten utilizar patrones de comparación.
- %: Permite ser sustituido por cualquier número de caracteres.
- _: Permite ser sustituido por cualquier carácter en esa posición.
- Lógicos:
