10.3.5列の文字セットと照合

公式ドキュメントアドレス:10.3.5列の文字セットと照合順序


(で、タイプそれぞれ「文字」欄CHARVARCHARTEXTタイプ、または任意の同義語の列)は、文字セットとカラム照合列があります。CREATE TABLEまた、ALTER TABLE列定義構文の文字セットと、指定された列のオプション句の照合:

col_name {
   
   CHAR | VARCHAR | TEXT} (col_length)
    [CHARACTER SET charset_name]
    [COLLATE collation_name]

これらの句は、ENUM合計SET列にも使用できます。

col_name {
   
   ENUM | SET} (val_list)
    [CHARACTER SET charset_name]
    [COLLATE collation_name]

例:

CREATE TABLE t1
(
    col1 VARCHAR(5)
       CHARACTER SET latin1
       COLLATE latin1_german1_ci
);

ALTER TABLE t1 MODIFY
    col1 VARCHAR(5)
       CHARACTER SET latin1
       COLLATE latin1_swedish_ci;

MySQLは、次の方法を使用して列の文字セットを選択し、並べ替えます。

  • CHARACTER SET charset_name合計を同時に指定する場合はCOLLATE collation_name、文字セットcharset_nameと照合順序が使用されcollation_nameます。
CREATE TABLE t1
(
    col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci
) CHARACTER SET latin1 COLLATE latin1_bin;

列には文字セットと照合順序が指定されているため、これらが使用されます。列には文字セットutf8と照合順序がありますutf8_unicode_ci

  • 指定されたものが指定されてCHARACTER SET charset_nameいない場合、COLLATE文字セットcharset_nameとそのデフォルトの照合順序が使用されます。
CREATE TABLE t1
(
    col1 CHAR(10) CHARACTER SET utf8
) CHARACTER SET latin1 COLLATE latin1_bin;

列に文字セットが指定されていますが、照合順序が指定されていません。列にはutf8文字セットとのutf8デフォルトの照合順序ありますutf8_general_ci各文字セットのデフォルトの照合順序を表示するには、SHOW CHARACTER SETステートメントまたはルックアップINFORMATION_SCHEMA CHARACTER_SETSテーブルを使用できます。

  • のみが存在しない場合はCOLLATE collation_nameどれもCHARACTER SET、使用collation_nameに関連するキャラクタセットおよびcollation_name照合を。
CREATE TABLE t1
(
    col1 CHAR(10) COLLATE utf8_polish_ci
) CHARACTER SET latin1 COLLATE latin1_bin;

列に照合順序が指定されていますが、文字セットが指定されていません。列にはutf8_polish_ci照合順序があり、文字セットは照合順序に関連付けられた文字セットutf8です。

  • 文字セットと照合順序が指定されていない場合は、テーブルの文字セットと照合順序が使用されます。
CREATE TABLE t1
(
    col1 CHAR(10)
) CHARACTER SET latin1 COLLATE latin1_bin;

列に文字セットまたは照合順序が指定されていないため、テーブルのデフォルトの文字セットまたは照合順序が使用されます。列には文字セットlatin1と照合順序がありますlatin1_bin

CHARACTER SETandCOLLATE句は標準SQLです。

ALTER TABLE列をある文字セットから別の文字セット変換するために使用する場合、MySQLはデータ値をマップしようとしますが、文字セットに互換性がない場合、データが失われる可能性があります。

おすすめ

転載: blog.csdn.net/wb1046329430/article/details/114824911