Herramientas de usuario

Herramientas del sitio


bases_de_datos:mysql:aspectos_basicos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bases_de_datos:mysql:aspectos_basicos [2016/11/07 20:09] – [Funciones] albertobases_de_datos:mysql:aspectos_basicos [2016/11/15 23:42] (actual) – [Introducción a MySQL] alberto
Línea 1: Línea 1:
 ====== Aspectos Básicos de MySQL ====== ====== Aspectos Básicos de MySQL ======
-==== Introducción a MySQL ====+===== Introducción a MySQL =====
 SQL son las siglas de //Structured Query Language//, es decir, lenguaje estructurado de consulta.\\ 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.\\ 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.\\
Línea 20: Línea 20:
 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.\\ 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.\\ 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.\\
 +Además, hay que saber que MySQL no distingue mayúsculas de minúsculas, al contrario de otros gestores de bases de datos.
  
-==== Datos ==== +===== Datos ===== 
-=== Literales === +==== Literales ==== 
 La información que almacena MySQL se guarda con literales que pueden ser de diferentes tipos: 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   * **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
Línea 28: Línea 29:
   * **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.   * **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 ===+==== Tipos de datos ====
 Existen multitud de [[https://www.google.es/search?q=mysql+tipos+de+datos&oq=mysql+tipos+de+datos&aqs=chrome..69i57.5279j0j1&sourceid=chrome&ie=UTF-8|tipos de datos en MySQL]]. A continuación se comentarán algunos de los más significativos: Existen multitud de [[https://www.google.es/search?q=mysql+tipos+de+datos&oq=mysql+tipos+de+datos&aqs=chrome..69i57.5279j0j1&sourceid=chrome&ie=UTF-8|tipos de datos en MySQL]]. A continuación se comentarán algunos de los más significativos:
   * Datos numéricos:   * Datos numéricos:
Línea 52: Línea 53:
   * Binarios:   * Binarios:
     * **BOOLEAN**: Almacena valores binarios 1 (TRUE), 0 (FALSE).     * **BOOLEAN**: Almacena valores binarios 1 (TRUE), 0 (FALSE).
-==== Operadores ====+===== Operadores =====
 Los [[https://www.google.es/search?q=mysql+tipos+de+datos&oq=mysql+tipos+de+datos&aqs=chrome..69i57.5279j0j1&sourceid=chrome&ie=UTF-8#q=mysql+operadores|operadores utilizados en MySQL]] son: Los [[https://www.google.es/search?q=mysql+tipos+de+datos&oq=mysql+tipos+de+datos&aqs=chrome..69i57.5279j0j1&sourceid=chrome&ie=UTF-8#q=mysql+operadores|operadores utilizados en MySQL]] son:
   * **Aritméticos**: Suma (+), resta (-), multiplicación (*), división (/), división entera (Div).   * **Aritméticos**: Suma (+), resta (-), multiplicación (*), división (/), división entera (Div).
   * **De comparación**:    * **De comparación**: 
     * Retornan según proceda Verdadero, Falso o Nulo (TRUE, FALSE, NULL).     * 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.+    * Igual<nowiki>(=), distinto(!=), menor(<), menor o igual(<=), mayor(>), mayor o igual(>=)</nowiki>, BETWEEN / NOT BETWEEN, IN / NOT IN, IS NULL / IS NOT NULL, LIKE.
       * //BETWEEN//:        * //BETWEEN//: 
         * Forma de uso: BETWEEN valor1 AND valor2         * Forma de uso: BETWEEN valor1 AND valor2
Línea 83: Línea 84:
 | 6º   | OR, XOR    | Inclusión, exclusión       | | 6º   | OR, XOR    | Inclusión, exclusión       |
  
-==== Funciones ====+===== Funciones =====
 Existen multitud de [[https://www.google.es/search?q=mysql+funciones&oq=mysql+funciones&aqs=chrome..69i57.3615j0j1&sourceid=chrome&ie=UTF-8|funciones predefinidas en MysQL]], que le dan una gran potencia al lenguaje. A continuación se indican las más comunes: Existen multitud de [[https://www.google.es/search?q=mysql+funciones&oq=mysql+funciones&aqs=chrome..69i57.3615j0j1&sourceid=chrome&ie=UTF-8|funciones predefinidas en MysQL]], que le dan una gran potencia al lenguaje. A continuación se indican las más comunes:
   * **Funciones aritméticas**:   * **Funciones aritméticas**:
Línea 178: Línea 179:
  
   * **Otras funciones**:   * **Otras funciones**:
-  * +
 ^ Función ^ Operación ^ ^ Función ^ Operación ^
 | DATABASE() | Nombre de la base de datos actual | | DATABASE() | Nombre de la base de datos actual |
Línea 184: Línea 185:
 | VERSION() | Devuelve una cadena indicando la versión de MySQL que estamos utilizando | | VERSION() | Devuelve una cadena indicando la versión de MySQL que estamos utilizando |
  
 +===== Valores Nulos (NULL) =====
 +En SQL (y por extensión en MySQL) la ausencia de valor se representa como NULL.\\
 +Al operar con valores nulos hay que tener en cuenta las siguientes consideraciones:
 +  * Si realizamos operaciones aritméticas, cualquier expresión aritmética que contenga algún valor nulo, dará como resultado un valor nulo.
 +  * Si comparamos expresiones que contienen el valor nulo, con otro valor nulo, el resultado no es mayor, ni menor, ni igual. En SQL un valor nulo no es igual a otro valor nulo.
 +
 +Para evitar los problemas con valores nulos a la hora de que al realizar cálculos o comparaciones entre columnas, es recomendable usar la función IFNULL para devolver otro valor en caso de que un valor sea NULL.
 +
 +===== Expresiones y condiciones =====
 +Una **expresión** es un conjunto de variables, literales, funciones, operadores y paréntesis.\\
 +Los paréntesis sirven para variar el orden de prioridad y sólo son obligatorios en ese caso.\\
 +
 +Las **condiciones** son casos especiales de expresiones, en cuyo caso el resultado será TRUE, FALSE o NULL.\\
 +
 +===== Control de Transacciones: COMMIT y ROLLBACK =====
 +Los gestores de bases de datos disponen de dos comandos que permiten confirmar o deshacer los cambios realiazdos en la base de datos:
 +  * **COMMIT**: Confirma los cambios realizados haciéndolos permanentes.
 +  * **ROLLBACK**: Deshace los cambios realizados.
 +
 +Cuando hacemos modificaciones en las tablas no se hacen efectivas (escritura en disco) hasta que no ejecutamos la sentencia COMMIT. Cuando ejecutamos comandos DDL o de definición de datos (CREATE, DROP, ALTER), se ejecuta un COMMIT automático, así como cuando se cierra la sesión.\\
 +
 +Cuando ejecutamos ROLLBACK, se deshacen todos los cambios hasta el último COMMIT ejecutado.\\
 +
 +Existe una variable, AUTO_COMMIT, que indica la forma de trabajo, pudiéndo tomar los valores 0 y 1:
 +  * **0**: AUTO_COMMIT está desactivado. Hay que hacer COMMIT de forma manual, por lo que es posible usar ROLLBACK.
 +  * **1**: AUTO_COMMIT está activado. Cada vez que se ejecute una sentencia se hará automáticamente COMMIT, por lo que no es posible hacer ROLLBACK.
 +
 +Para cambiar el valor de esta variable:
 +<WRAP box>
 +    SET AUTO_COMMIT = 0;
 +    SET AUTO_COMMIT = 1;
 +</WRAP>
 +
 +Este control de transacciones puede ser extremadamente útil edurante la fase de depuración y prueba de nuestra base de datos.
bases_de_datos/mysql/aspectos_basicos.1478545789.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki