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

13.1.1. ALTER DATABASE Синтаксис

ALTER {DATABASE | SCHEMA} [db_name]    alter_specification ...ALTER {DATABASE | SCHEMA} db_name    UPGRADE DATA DIRECTORY NAMEalter_specification:    [DEFAULT] CHARACTER SET [=] charset_name  | [DEFAULT] COLLATE [=] collation_name

ALTER DATABASE позволяет Вам изменить полные характеристики базы данных. Эти характеристики сохранены в db.opt файл в каталоге базы данных. Использовать ALTER DATABASE, Вы нуждаетесь ALTER полномочие на базе данных. ALTER SCHEMA синоним для ALTER DATABASE.

Имя базы данных может быть опущено от первого синтаксиса, когда оператор применяется к базе данных значения по умолчанию.

Национальные Характеристики Языка

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

Можно видеть, какие наборы символов и сопоставления являются доступным использованием, соответственно, SHOW CHARACTER SET и SHOW COLLATION операторы. См. Раздел 13.7.5.4,"SHOW CHARACTER SET Синтаксис", и Раздел 13.7.5.5,"SHOW COLLATION Синтаксис", для получения дополнительной информации.

Если Вы изменяете набор символов значения по умолчанию или сопоставление для базы данных, сохраненные подпрограммы, которые используют значения по умолчанию базы данных, должны быть отброшены и воссозданы так, чтобы они использовали новые значения по умолчанию. (В сохраненной подпрограмме переменные с символьными типами данных используют значения по умолчанию базы данных, если набор символов или сопоставление не определяются явно. См. Раздел 13.1.15,"CREATE PROCEDURE и CREATE FUNCTION Синтаксис".)

Обновление от Версий, Более старых чем MySQL 5.1

Синтаксис, который включает UPGRADE DATA DIRECTORY NAME пункт обновляет имя каталога, связанного с базой данных, чтобы использовать кодирование, реализованное в MySQL 5.1 для того, чтобы отобразить имена базы данных к именам каталогов базы данных (см. Раздел 9.2.3, "Отображение Идентификаторов к Именам файлов"). Этот пункт для использования при этих условиях:

Например, если у базы данных в MySQL 5.0 есть имя a-b-c, имя содержит экземпляры - (тире) символ. В MySQL 5.0 также называют каталог базы данных a-b-c, который не обязательно безопасен для всех файловых систем. В MySQL 5.1 и позже, то же самое имя базы данных кодируется как a@002db@002dc произвести нейтральное файловой системой имя каталога.

Когда установка MySQL обновляется до MySQL 5.1 или позже от более старой версии, сервер выводит на экран имя такой как a-b-c (который находится в старом формате), как #mysql50#a-b-c, и следует обратиться к имени, используя #mysql50# префикс. Использовать UPGRADE DATA DIRECTORY NAME в этом случае явно сказать серверу повторно кодировать имя каталога базы данных к текущему формату кодирования:

ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;

После выполнения этого оператора можно обратиться к базе данных как a-b-c без специального предложения #mysql50# префикс.