Herramientas de usuario

Herramientas del sitio


bases_de_datos:mysql:aspectos_basicos

¡Esta es una revisión vieja del documento!


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:
    • NOT(!), AND(&&), OR(||), XOR.
    • Pueden expresarse por su literal, o por el símbolo.

La prioridad de los operadores es la marcada en la siguiente tabla:

Prioridad Operador Operación
*, /, DIV Multiplicación, división
+, - Suma, resta
=, !=, <, >, ⇐, >=, IS, LIKE, BETWEEN, IN Comparación
NOT Negación
ANDConjunción
OR, XOR Inclusión, exclusión

Funciones

Existen multitud de funciones predefinidas en MysQL, que le dan una gran potencia al lenguaje. A continuación se indican las más comunes:

  • Funciones aritméticas

^ Función ^ Operación ^

ABS(num) Valor absoluto de num
CEIL(num) Techo: Entero más pequeño mayor que num
FLOOR(num) Suelo: Entero más grande menor que num
EXP(num) Potencia de e: Devuelve e elevado a num
LN(num) Logaritmo neperiano (en base e) de num
LOG(num) Logaritmo en base 10 de num
MOD(num1, num2) Resto de num1/num2
PI() Número PI
POWER(num1, num2) num1 elevado a num2
RAND() Genera un número aleatorio comprendido entre 0 y 1
ROUND(num1, num2) Devuelve num1 redondeado a num2 decimales (0 si no se especifica num2)
SIGN(num) Devuelve -1, 0, 1 si num es menor, igual o mayor a cero, respectivamente
SQRT(num) Raíz cuadrada de num
TRUNCATE(num1, num2) num1 truncado a num2 decimales (0 decimales si no se especifica num2)
  • Funciones de caracteres:
  • Funciones de fecha:
  • Funciones de comparación:
  • Otras funciones:
bases_de_datos/mysql/aspectos_basicos.1478543658.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki