13.1.11 Оператор CREATE DATABASE
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
}
CREATE DATABASE создаёт базу данных с указанным именем. Для использования этого оператора необходимо разрешение CREATE для базы данных. CREATE
SCHEMA является синонимом для CREATE
DATABASE.
Возникает ошибка, если база данных уже существует и вы не указали IF NOT EXISTS.
CREATE DATABASE не разрешено внутри сеанса, имеющего активный оператор LOCK
TABLES.
Каждая create_option определяет характеристику базы данных. Характеристики базы данных хранятся в файле db.opt в каталоге базы данных. Опция CHARACTER SET задаёт кодировку по умолчанию для базы данных. Опция COLLATE задаёт сортировку по умолчанию для базы данных. Сведения о именах кодировок и сортировок см. в Главе 10, Наборы символов, сортировки, Unicode.
Для просмотра доступных кодировок и сортировок используйте операторы SHOW CHARACTER SET и SHOW COLLATION соответственно. См. Раздел 13.7.5.3, “Оператор SHOW CHARACTER SET”, и Раздел 13.7.5.4, “Оператор SHOW COLLATION”.
База данных в MySQL реализуется как каталог, содержащий файлы, соответствующие таблицам в базе данных. Поскольку таблиц в базе данных нет при её первоначальном создании, оператор CREATE DATABASE создаёт только каталог в каталоге данных MySQL и файл db.opt. Правила для допустимых имён баз данных приведены в Разделе 9.2, “Имена объектов схемы”. Если имя базы данных содержит специальные символы, имя каталога базы данных содержит закодированные версии этих символов, как описано в Разделе 9.2.4, “Преобразование идентификаторов в имена файлов”.
Если вы вручную создаёте каталог в каталоге данных (например, с помощью mkdir), сервер рассматривает его как каталог базы данных, и он отображается в выводе оператора SHOW DATABASES.
При создании базы данных позвольте серверу управлять каталогом и файлами в нём. Прямое управление каталогами и файлами базы данных может привести к несоответствиям и непредсказуемым результатам.
MySQL не ограничен по количеству баз данных. Подлежащая файловая система может иметь ограничение на количество каталогов.
Вы также можете использовать программу mysqladmin для создания баз данных. См. Раздел 4.5.2, “mysqladmin — Программа администрирования сервера MySQL”.
© 2025 Oracle
Licensed under the GPLv2 License.