Spec-Zone.ru › MySQL 5.7

10.3.4 Набор символов и сортировка таблицы

Каждая таблица имеет набор символов и сортировку таблицы. Утверждения CREATE TABLE и ALTER TABLE имеют необязательные предложения для указания набора символов и сортировки таблицы:

CREATE TABLE tbl_name (column_list)
    [[DEFAULT] CHARACTER SET charset_name]
    [COLLATE collation_name]]

ALTER TABLE tbl_name
    [[DEFAULT] CHARACTER SET charset_name]
    [COLLATE collation_name]

Пример:

CREATE TABLE t1 ( ... )
CHARACTER SET latin1 COLLATE latin1_danish_ci;

MySQL выбирает набор символов и сортировку таблицы следующим образом:

  • Если указаны и CHARACTER SET charset_name, и COLLATE collation_name, используются набор символов charset_name и сортировка collation_name.

  • Если указан CHARACTER SET charset_name без COLLATE, используется набор символов charset_name и его значение по умолчанию для сортировки. Чтобы увидеть значение сортировки по умолчанию для каждого набора символов, используйте утверждение SHOW CHARACTER SET или запросите таблицу INFORMATION_SCHEMA CHARACTER_SETS.

  • Если указан COLLATE collation_name без CHARACTER SET, используется набор символов, связанный с collation_name, и сортировка collation_name.

  • В противном случае (ни CHARACTER SET, ни COLLATE не указаны), используются набор символов и сортировка базы данных.

Набор символов и сортировка таблицы используются в качестве значений по умолчанию для определений столбцов, если набор символов и сортировка столбца не указаны в отдельных определениях столбцов. Набор символов и сортировка таблицы являются расширениями MySQL; в стандартном SQL таких понятий нет.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/charset-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API