Bienvenidos sean a este post, hoy hablaremos sobre la funcion creadora de base de datos.
Antes de comenzar pasemos a ver su sintaxis:
CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] nombreBase
[especificaciones];
Nota: Todo lo que vean entre corchetes ([]) es opcional.
Con este comando podemos crear o reemplazar (si usamos a REPLACE) una base de datos, el segundo dato es obligatorio pero pueden usar cualquiera de los dos parametros, el siguiente condicional es opcional pero es muy recomendable utilizarlo para evitar errores a la hora de la ejecucion y por ultimo el nombre de la base, despues de forma opcional podemos pasar algunas especificaciones, las especificaciones que podemos utilizar son las siguientes:
[DEFAULT] CHARACTER SET [=] charset,
[DEFAULT] COLLATE [=] colacion,
COMMENT [=] 'comentario'
Todas son opcionales y en caso de no informarlas el sistema asigna los valores predeterminados, de los tres el que mas pueden usar es COMMENT que se usa para asignar un comentario, las otras estan mas referidas a los caracteres que podemos utilizar en nuestras bases y es recomendable dejarlos como predeterminados pero salvo que lo necesiten por algun lenguaje en particular utilicen los predeterminados, veamos el ejemplo mas basico que podemos usar:
CREATE DATABASE base1;
Simplemente pasaremos el nombre y que debe crearla, si todo salio bien debera devolver lo siguiente:
MariaDB [(none)]> CREATE DATABASE base1;
Query OK, 1 row affected (0.002 sec)
Con esto ya pueden crear sus bases de datos de manera rapida y eficiente pero si ya existe que sucede? Veamos:
MariaDB [(none)]> CREATE DATABASE base1;
ERROR 1007 (HY000): Can't create database 'base1'; database exists
MariaDB [(none)]>
Nos informa que no se pudo crear y ocurrio un error pero si lo usamos de la siguiente manera:
CREATE DATABASE IF NOT EXISTS base1;
Nos devolvera el siguiente mensaje:
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS base1;
Query OK, 0 rows affected, 1 warning (0.001 sec)
MariaDB [(none)]>
Como podemos ver no se creo la base nos devolvio un warning pero no hubo error que pueda interrumpir un script, por ejemplo, esta es la forma mas segura de crear bases de datos pero vamos a usar los comentarios para ver como funcionan las especificaciones:
CREATE DATABASE base2 CHARACTER SET = 'keybcs2';
En este caso creamos una base de datos para que tenga una codificacion de tipo Kamenický, para palabras en Checoslovaco, por ultimo vamos a ver un ejemplo practico para saber si se creo bien la base y para ello usaremos el siguiente comando:
SHOW CREATE DATABASE IF NOT EXISTS base1;
Esto aplica a las bases creadas donde nos muestra todas las caracteristicas de la base creada veamos su salida:
MariaDB [(none)]> SHOW CREATE DATABASE base1;
+----------+-------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------+
| base1 | CREATE DATABASE `base1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------+-------------------------------------------------------------------+
1 row in set (0.000 sec)
MariaDB [(none)]>
Aqui podemos observar que nos trajo algunos datos interesantes como el charset asignado automaticamente y el chequeo de si no existe pero como les comente al principio con utilizar el comando de la siguiente forma les alcanzara:
CREATE DATABASE IF NOT EXISTS nombreBase;
Un par de detalles antes de terminar:
- OR REPLACE se puede implementar a partir de la version 10.1.3 del servidor
- CHARACTER SET y COLLATE tambien pueden implementarse a partir de la version 10.1.3
- COMMENT a partir de la version 10.5.0
Nota: La version la pueden ver cuando ingresan al interprete.
En resumen, en este post hemos visto como crear bases de datos, todos los parametros que podemos utilizar, desde la forma mas basica hasta una mas compleja, pasando por la version que creo mas recomendable, y vimos tambien como observar si genero correctamente, 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
