Crear y eliminar bases de datos
Al escribir consultas SQL trabajamos constantemente con tablas. Las tablas, a su vez, se guardan dentro de bases de datos concretas, y de ellas trata este artículo.
Crear una base de datos
Para crear una base de datos se usa la siguiente sintaxis:
CREATE DATABASE nombre_base_datos;- nombre_base_datos
- El nombre de la nueva base de datos.
En el nombre de una base de datos se suelen usar letras, dígitos y los símbolos «_» y «$». La longitud máxima del nombre es de 64 caracteres.
Puedes comprobar que la base de datos se ha creado con la sentencia SHOW DATABASES.
MySQL 8.4SHOW DATABASES;
Si el nombre de la base de datos se escribe sin comillas dobles, debe empezar por una letra o por el símbolo «_». A continuación se pueden usar letras, dígitos y los símbolos «_» y «$». La longitud máxima del nombre es de 63 caracteres.
Puedes comprobar que la base de datos se ha creado con esta consulta SQL:
MySQL 8.4SELECT datname FROM pg_database WHERE datistemplate = false;
Eliminar una base de datos
Una base de datos se elimina con la sentencia DROP DATABASE:
DROP DATABASE nombre_base_datos;- nombre_base_datos
La base de datos que hay que eliminar junto con todas sus tablas.
IF EXISTS e IF NOT EXISTS
Al crear o eliminar una base de datos puede producirse un error: por ejemplo, si ya existe una base de datos con ese nombre o, al contrario, si todavía no se ha creado. Para estos casos se usan las cláusulas IF EXISTS e IF NOT EXISTS.
Es decir, si queremos crear una base de datos solo en caso de que todavía no exista, se usa la siguiente sintaxis:
CREATE DATABASE IF NOT EXISTS nombre_base_datos;- IF NOT EXISTS
Crea la base de datos solo si todavía no existe ninguna con ese nombre. Si existe, la consulta no hace nada y no da error.
Palabra clave- nombre_base_datos
- El nombre de la nueva base de datos.
Si queremos eliminar una base de datos solo en caso de que exista, se usa la siguiente sintaxis:
DROP DATABASE IF EXISTS nombre_base_datos;- IF EXISTS
Elimina la base de datos solo si existe. Si no, la consulta no hace nada y no da error.
Palabra clave- nombre_base_datos
- La base de datos que hay que eliminar.
IF EXISTS
Al eliminar una base de datos puede producirse un error si esa base de datos no existe. En este caso puedes usar la cláusula IF EXISTS.
Para eliminar una base de datos puedes usar la cláusula IF EXISTS:
DROP DATABASE IF EXISTS nombre_base_datos;- IF EXISTS
Elimina la base de datos solo si existe. Si no, la consulta no hace nada y no da error.
Palabra clave- nombre_base_datos
- La base de datos que hay que eliminar.
Ponte a prueba
En la base de datos shop hay tablas con datos. ¿Qué pasará al ejecutar esta consulta?
MySQL 8.4DROP DATABASE shop;
En el servidor no existe ninguna base de datos shop. ¿Qué pasará al ejecutar esta consulta?
MySQL 8.4DROP DATABASE IF EXISTS shop;