Spec-Zone .ru
спецификации, руководства, описания, API

13.1.8. CREATE DATABASE Синтаксис

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name    [create_specification] ...create_specification:    [DEFAULT] CHARACTER SET [=] charset_name  | [DEFAULT] COLLATE [=] collation_name

CREATE DATABASE создает базу данных с именем. Чтобы использовать этот оператор, Вы нуждаетесь CREATE полномочие для базы данных. CREATE SCHEMA синоним для CREATE DATABASE.

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

В MySQL 5.7, CREATE DATABASE не разрешается в пределах сеанса, у которого есть активное LOCK TABLES оператор.

create_specification опции определяют характеристики базы данных. Характеристики базы данных сохранены в db.opt файл в каталоге базы данных. CHARACTER SET пункт определяет набор символов базы данных значения по умолчанию. COLLATE пункт определяет сопоставление базы данных значения по умолчанию. Раздел 10.1, "Поддержка Набора символов", обсуждает имена сопоставления и набор символов.

База данных в MySQL реализуется как каталог, содержащий файлы, которые соответствуют таблицам в базе данных. Поскольку нет никаких таблиц в базе данных, когда она первоначально создается, CREATE DATABASE оператор создает только каталог в соответствии с каталогом данных MySQL и db.opt файл. Правила для допустимых имен базы данных даются в Разделе 9.2, "Имена объектов Схемы". Если имя базы данных содержит специальные символы, имя для каталога базы данных содержит закодированные версии тех символов как описано в Разделе 9.2.3, "Отображение Идентификаторов к Именам файлов".

Если Вы вручную создаете каталог в соответствии с каталогом данных (например, с mkdir), сервер считает это каталогом базы данных, и это обнаруживается в выводе SHOW DATABASES.

Можно также использовать mysqladmin программу, чтобы создать базы данных. См. Раздел 4.5.2, "mysqladmin — Клиент для Администрирования MySQL Server".