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.