Bienvenidos sean a este post, hoy veremos como modificar las bases de datos.
Recuerdan cuando hablamos de la creacion de las bases de datos en este post, la alteracion nos permite modificar los parametros de la misma, veamos primero su sintaxis:
ALTER {DATABASE | SCHEMA} nombreBase
especificaciones;
La diferencia principal es que en lugar de CREATE debemos usar ALTER y solamente debemos especificar el nombre de la base, por ultimo las especificaciones ahora son obligatorias y debemos pasar aunque sea alguna de las tres, recordemos cuales eran:
[DEFAULT] CHARACTER SET [=] charset
[DEFAULT] COLLATE [=] colacion
COMMENT [=] 'comentario'
Las dos primeras son para trabajar con los codigos de caracteres y la ultima para modificar el comentario de la base, para repasar las dos primeras se implementaron a partir de la version 10.1.3 y la ultima a partir de la version 10.5.0, cualquier version a las antes citadas no podra modificar estos datos, veamos un ejemplo:
ALTER DATABASE base1 CHARACTER SET = 'keybcs2';
En este caso tomamos a la base creada en el post antes citado y le modificamos el CHARACTER SET a un nuevo valor, si vemos el resultado sera el siguiente:
MariaDB [(none)]> ALTER DATABASE base1 CHARACTER SET = 'keybcs2';
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]>
Si utilizan el SHOW CREATE DATABASE deberan ver el cambio realizado:
MariaDB [(none)]> SHOW CREATE DATABASE base1;
+----------+-------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------+
| base1 | CREATE DATABASE `base1` /*!40100 DEFAULT CHARACTER SET keybcs2 */ |
+----------+-------------------------------------------------------------------+
1 row in set (0.001 sec)
MariaDB [(none)]>
Por ultimo les comento una curiosidad que les puede facilitar algunas implementaciones, supongamos la siguiente situacion: acaabamos de migrar unas bases de datos de un servidor mysql 5.0 a mariadb, para evitar conflictos el programa que actualizo el servidor cambio el nombre de nuestras bases a una para identificarla que fue de las migradas, para ello utiliza la siguiente sintaxis:
#mysql50#a-b-c
Donde a-b-c es el nombre de una de las bases en cuestion pero como podemos hacer para eliminar la identificacion sin alterar el nombre y el contenido en el camino? este comando nos ofrece una opcion que es la siguiente:
ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;
Donde actualizara el nombre de la base en todas las tablas que existan dentro de la misma como tambien en el servidor, eliminando el comentario inicial y dejando el nombre de la base, en este caso a-b-c, pero esto es simplemente para los casos de migraciones de una version a otra, pero usualmente lo usaran como vimos anteriormente.
En resumen, hoy hemos visto como alterar algunos datos de la base de datos, como se hace, los parametros que se pueden modificar, a partir de que version, y una ultima curiosidad para el caso de una migracion de una version vieja de mysql a mariadb, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
