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.