Spec-Zone.ru › MySQL 8.4

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 8.4.

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

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

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

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

Spec-Zone.ru

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