Spec-Zone.ru › MySQL 9.2

15.1.12 Оператор CREATE DATABASE

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_option] ...

create_option: [DEFAULT] {
    CHARACTER SET [=] charset_name
  | COLLATE [=] collation_name
  | ENCRYPTION [=] {'Y' | 'N'}
}

CREATE DATABASE создаёт базу данных с заданным именем. Для использования этого оператора требуется привилегия CREATE для базы данных. CREATE SCHEMA является синонимом для CREATE DATABASE.

Возникает ошибка, если база данных уже существует, и вы не указали IF NOT EXISTS.

CREATE DATABASE не разрешено в сеансе, имеющем активный оператор LOCK TABLES.

Каждый create_option задаёт характеристику базы данных. Характеристики базы данных хранятся в словаре данных.

  • Параметр CHARACTER SET задаёт кодировку по умолчанию для базы данных. Параметр COLLATE задаёт сортировку по умолчанию для базы данных. Сведения о именах кодировок и сортировок см. в Главе 12, Кодировки символов, сортировки, Unicode.

    Для просмотра доступных кодировок и сортировок используйте операторы SHOW CHARACTER SET и SHOW COLLATION соответственно. См. Раздел 15.7.7.4, «Оператор SHOW CHARACTER SET» и Раздел 15.7.7.5, «Оператор SHOW COLLATION».

  • Параметр ENCRYPTION определяет шифрование по умолчанию для базы данных, которое наследуется таблицами, созданными в базе данных. Разрешённые значения — 'Y' (шифрование включено) и 'N' (шифрование выключено). Если параметр ENCRYPTION не указан, значение системной переменной default_table_encryption определяет шифрование по умолчанию для базы данных. Если системная переменная table_encryption_privilege_check включена, для указания настройки шифрования по умолчанию, отличной от настройки default_table_encryption, требуется привилегия TABLE_ENCRYPTION_ADMIN. Дополнительные сведения см. в Определении шифрования по умолчанию для схем и общих табличных пространств.

База данных в MySQL реализуется как директория, содержащая файлы, соответствующие таблицам в базе данных. Поскольку таблиц в базе данных нет при её первоначальном создании, оператор CREATE DATABASE создаёт только директорию в каталоге данных MySQL. Правила допустимых имён баз данных приведены в Разделе 11.2, «Имена объектов схемы». Если имя базы данных содержит специальные символы, имя директории базы данных содержит закодированные версии этих символов, как описано в Разделе 11.2.4, «Сопоставление идентификаторов с именами файлов».

Создание каталога базы данных путём ручного создания директории в каталоге данных (например, с помощью mkdir) не поддерживается в MySQL 9.2.

При создании базы данных предоставьте серверу управление директорией и файлами в ней. Прямое управление каталогами и файлами баз данных может привести к несоответствиям и непредвиденным результатам.

В MySQL нет ограничений на количество баз данных. Подлежащая файловая система может иметь ограничения на количество директорий.

Также можно использовать программу mysqladmin для создания баз данных. См. Раздел 6.5.2, «mysqladmin — Программа администрирования сервера MySQL».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/create-database.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API