Spec-Zone .ru
спецификации, руководства, описания, API
|
У каждой базы данных есть набор символов базы данных и сопоставление базы данных. CREATE DATABASE
и ALTER
DATABASE
у операторов есть дополнительные пункты для того, чтобы определить набор символов базы
данных и сопоставление:
CREATE DATABASEdb_name
[[DEFAULT] CHARACTER SETcharset_name
] [[DEFAULT] COLLATEcollation_name
]ALTER DATABASEdb_name
[[DEFAULT] CHARACTER SETcharset_name
] [[DEFAULT] COLLATEcollation_name
]
Ключевое слово SCHEMA
может использоваться вместо DATABASE
.
Все параметры базы данных сохранены в названном текстовом файле db.opt
это может
быть найдено в каталоге базы данных.
CHARACTER SET
и COLLATE
пункты позволяют создать базы
данных с различными наборами символов и сопоставлениями на том же самом сервере MySQL.
Пример:
CREATE DATABASE db_name
CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL выбирает набор символов базы данных и сопоставление базы данных следующим способом:
Если оба CHARACTER SET
и X
COLLATE
определяются, набор
символов Y
X
и сопоставление Y
используются.
Если CHARACTER SET
определяется без X
COLLATE
,
набор символов X
и его сопоставление значения по умолчанию
используется. Чтобы видеть сопоставление значения по умолчанию для каждого набора символов, используйте
SHOW COLLATION
оператор.
Если COLLATE
определяется без Y
CHARACTER
SET
, набор символов, связанный с Y
и сопоставление Y
используются.
Иначе, набор символов сервера и сопоставление сервера используются.
Набор символов базы данных и сопоставление используются в качестве значений по умолчанию для табличных
определений, если табличный набор символов и сопоставление не определяются в CREATE TABLE
операторы. Набор символов базы данных также используется LOAD DATA INFILE
. У набора символов и сопоставления нет никаких других целей.
Набор символов и сопоставление для базы данных значения по умолчанию могут быть определены от значений character_set_database
и collation_database
системные переменные. Сервер устанавливает эти переменные всякий раз, когда база данных значения по умолчанию
изменяется. Если нет никакой базы данных значения по умолчанию, у переменных есть то же самое значение как
соответствующие системные переменные на уровне сервера, character_set_server
и collation_server
.