MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 Sentencia CREATE DATABASE

13.1.12 Sentencia CREATE DATABASE

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}

CREATE DATABASE crea una base de datos con el nombre dado. Para utilizar esta sentencia, se necesita el privilegio CREATE para la base de datos. CREATE SCHEMA es un sinónimo de CREATE DATABASE.

Se produce un error si la base de datos existe y no se ha especificado IF NOT EXISTS.

CREATE DATABASE no está permitido dentro de una sesión que tiene una sentencia LOCK TABLES activa.

Cada create_option especifica una característica de la base de datos. Las características de la base de datos se almacenan en el diccionario de datos.

  • La opción CHARACTER SET especifica el conjunto de caracteres por defecto de la base de datos. La opción COLLATE especifica la colación por defecto de la base de datos. Para obtener información sobre los nombres de conjuntos de caracteres y cotejos, consulte el capítulo 10, Juegos de caracteres, cotejos y Unicode.

    Para ver los juegos de caracteres y las colaciones disponibles, utilice las sentencias SHOW CHARACTER SET y SHOW COLLATION, respectivamente. Consulte el apartado 13.7.7.3, «Sentencia SHOW CHARACTER SET», y el apartado 13.7.7.4, «Sentencia SHOW COLLATION».

  • La opción ENCRYPTION, introducida en MySQL 8.0.16, define la codificación por defecto de la base de datos, que es heredada por las tablas creadas en la base de datos. Los valores permitidos son 'Y' (cifrado activado) y 'N' (cifrado desactivado). Si no se especifica la opción ENCRYPTION, el valor de la variable de sistema default_table_encryption define el cifrado por defecto de la base de datos. Si la variable de sistema table_encryption_privilege_check está habilitada, se requiere el privilegio TABLE_ENCRYPTION_ADMIN para especificar una configuración de cifrado por defecto que difiera de la configuración default_table_encryption. Para obtener más información, consulte Definición de un valor predeterminado de cifrado para esquemas y espacios de tablas generales.

Una base de datos en MySQL se implementa como un directorio que contiene archivos que corresponden a las tablas de la base de datos. Como no hay tablas en una base de datos cuando se crea inicialmente, la sentencia CREATE DATABASE crea sólo un directorio bajo el directorio de datos de MySQL. Las reglas para los nombres de bases de datos permisibles se dan en la Sección 9.2, «Nombres de objetos de esquema». Si el nombre de una base de datos contiene caracteres especiales, el nombre del directorio de la base de datos contiene versiones codificadas de esos caracteres como se describe en la Sección 9.2.4, «Mapeo de identificadores a nombres de archivos».

La creación de un directorio de base de datos mediante la creación manual de un directorio bajo el directorio de datos (por ejemplo, con mkdir) no se admite en MySQL 8.0.

Cuando cree una base de datos, deje que el servidor administre el directorio y los archivos que contiene. Manipular los directorios y archivos de la base de datos directamente puede causar inconsistencias y resultados inesperados.

MySQL no tiene límite en el número de bases de datos. El sistema de archivos subyacente puede tener un límite en el número de directorios.

También puede utilizar el programa mysqladmin para crear bases de datos. Consulte la Sección 4.5.2, «mysqladmin – Un programa de administración del servidor MySQL».

Deja una respuesta

Tu dirección de correo electrónico no será publicada.