文字列デタ型のサマリにいて説明します。文字列型のプロパティーおよびストレージ要件の追加情報については、セクション11.4“文字列型”およびセクション11.7 "デ,タ型のストレ,ジ要件"を参照してください。
MySQLは,文字列カラムを创建表
またはALTER TABLE
ステ,トメントで与えられている型とは異なる型に変更することがあります。セクション13.1.17.3“暗黙のカラム指定の変更”を参照してください。
MySQLは,文字カラム定義の長さ指定を文字単位で解釈します。これは,字符
、VARCHAR
,および文本
型に適応されます。
多くの文字列データ型のカラム定義には,カラムの文字セットまたは照合順序を指定する属性を含めることができます。これらの属性は字符
、VARCHAR
、文本
型、枚举
,および集
デ,タ型に適用されます。
字符集
属性は文字セットを指定し,核对
属性は文字セットの照合順序を指定します。例:创建表t (c1 VARCHAR(20) CHARACTER SET utf8, c2 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs);
このテ,ブル定義は,
use utf8
の文字セットとその文字セットのデフォルト照合順序を持c1
という名前のカラムと,latin1
の文字セットと大文字と小文字を区別する照合順序を持c2
という名前のカラムを作成します。字符集
属性または核对
属性,あるいはその両方がない場合に,文字セットや照合順序を割り当てるためのル,ルは,セクション10.1.3.4 "カラム文字セットおよび照合順序"で説明しています。字符集
は字符集
のシノニムです。文字デ,タ型に
字符集二进制
属性を指定すると,カラムは対応するバ。まり,字符
は二进制
になり,VARCHAR
はVARBINARY
になり,文本
は团
になります。枚举
および集
デ,タ型では,これは行われず,宣言されたとおりに作成されます。この定義を使用して,テ,ブルを指定したとします。创建表t (c1 VARCHAR(10)字符集二进制,c2 TEXT字符集二进制,c3 ENUM('a','b','c')字符集二进制);
結果のテ,ブルには,この定義が含まれています。
CREATE TABLE t (c1 VARBINARY(10), c2 BLOB, c3 ENUM('a','b','c') CHARACTER SET binary);
美国信息交换标准代码
属性は字符集拉丁文1
の短縮形です。UNICODE
属性は字符集ucs2
の短縮形です。二进制
属性は,カラム文字セットのバ。この場合,ソ,トと比較は数字の値に基づきます。
文字カラムのソ,トと比較は,カラムに割り当てられた文字セットに基づきます。字符
、VARCHAR
、文本
、枚举
,および集
データ型では,辞書順ではなくベースとなる文字コード値をソートおよび比較で使用できるように,バイナリ照合順序または二进制
属性を持カラムを宣言できます。
セクション10.1“文字セットのサポ,ト”では,MySQLの文字セットの使用に関する追加情報が記述されています。
(国家)CHAR ((
米
)][字符集charset_name
][核对collation_name
]格納時に必ず,指定された長さになるように右側がスペ,スで埋められる固定長文字列です。
米
はカラムの長さを文字数で表します。米
の範囲は0から255です。米
を省略すると,長さは1になります。注記PAD_CHAR_TO_FULL_LENGTH
SQLモドが有効になっていないかぎり,字符
値が取り出されるときに末尾のスペ,スは削除されます。字符
は字符
の短縮形です。国家的字符
(またはそれと同等の短縮形であるNCHAR
)は,字符
カラムが事前に定義された文字セットを使用する必要があることを定義する標準SQLの方法です。MySQL 4.1以降では,この事前に定義された文字セットとしてuse utf8
を使用します。セクション10.1.3.6 "各国文字セット"を参照してください。字符的字节
デ,タ型は二进制
デタ型のエリアスです。これは互換性機能です。MySQLでは,
CHAR (0)
の型のカラムを作成できます。これは主に,カラムの存在に依存するが,実際にはその値を使用しない古いアプリケーションに準拠する必要があるときに役立ちます。CHAR (0)
は,2の値しか取れないカラムが必要な場合にも非常に便利です。CHAR(0)为空
として定義されたカラムは1ビットだけを占め,零
と”
(空の文字列)値だけを取ることができます。(国家)VARCHAR (
米
)[字符集charset_name
][核对collation_name
]可変長文字列です。
米
はカラムの最大長を文字数で表します。米
の範囲は0から65 535です。VARCHAR
の有効な最大長は,最大行サイズ(65535バイト,すべてのカラムで共有されます)と使用される文字セットによって決まります。たとえば,use utf8
の文字は1文字にき最大3バトを必要とする場合があるため,use utf8
の文字セットを使用するVARCHAR
カラムは,最大21844文字になるように宣言できます。セクションd.10.4“テブルカラム数と行サズの制限”を参照してください。MySQLは,
VARCHAR
値を1バ▪▪トまたは2バ▪▪▪ト長のプリフィクスが付いたデ▪▪タとして格納します。長さプリフィクスは,値に含まれるバ。VARCHAR
カラムは,格納できる値が255バイト以下の場合は1バイト長のプリフィクスを使用し,255バイトより大きい場合は2バイト長のプリフィクスを使用します。注記MySQL 5.6は,標準SQL仕様に従い,
VARCHAR
値から末尾のスペ,スを削除しません。VARCHAR
は性格不同
の短縮形です。国家VARCHAR
は,VARCHAR
カラムが事前定義された文字セットを使用する必要があることを定義するための標準SQLの方法です。MySQL 4.1以降では,この事前に定義された文字セットとしてuse utf8
を使用します。セクション10.1.3.6 "各国文字セット"を参照してください。NVARCHAR
は国家VARCHAR
の短縮形です。二进制
型は字符
型と似ていますが,非バ▪▪▪ナリ文字列ではなく,バ▪▪▪ナリバ▪▪ト文字列を格納します。米
はカラムの長さをバ@ @ト数で表します。VARBINARY
型はVARCHAR
型と似ていますが,非バ▪▪▪ナリ文字列ではなく,バ▪▪▪ナリバ▪▪ト文字列を格納します。米
はカラムの最大の長さをバ@ @ト数で表します。最大長が255 (2)8−1)バトの
团
カラム。各TINYBLOB
値は,値のバ▪▪ト数を示す1バ▪▪ト長のプリフィクスを使用して格納されます。Tinytext[字符集
charset_name
][核对collation_name
]最大長が255 (2)8−1)文字の
文本
カラム。値にマルチバesc escト文字が含まれる場合,有効な最大長は少なくなります。各非常小的文本串
値は,値のバ▪▪ト数を示す1バ▪▪ト長のプリフィクスを使用して格納されます。最大長が65,535 (216−1)バトの
团
カラム。各团
値は,値のバ▪▪ト数を示す2バ▪▪ト長のプリフィクスを使用して格納されます。この型には,オプションの長さ
米
を指定できます。これが行われた場合,MySQLは米
バ@ @トの長さの値を保持するのに十分な最小の团
型としてカラムを作成します。文本((
米
)][字符集charset_name
][核对collation_name
]最大長が65,535 (216−1)文字の
文本
カラム。値にマルチバesc escト文字が含まれる場合,有効な最大長は少なくなります。各文本
値は,値のバ▪▪ト数を示す2バ▪▪ト長のプリフィクスを使用して格納されます。この型には,オプションの長さ
米
を指定できます。これが行われた場合,MySQLは米
文字の長さの値を保持するのに十分な最小文本
型としてカラムを作成します。最大長が16,777,215 (224−1)バトの
团
カラム。各MEDIUMBLOB
値は,値のバ▪▪ト数を示す3バ▪▪ト長のプリフィクスを使用して格納されます。Mediumtext[字符集
charset_name
][核对collation_name
]最大長が16,777,215 (224−1)文字の
文本
カラム。値にマルチバesc escト文字が含まれる場合,有効な最大長は少なくなります。各简单
値は,値のバ▪▪ト数を示す3バ▪▪ト長のプリフィクスを使用して格納されます。最大長が4294967295または4gバaaplト(232−1)バトの
团
カラム。LONGBLOB
カラムの有効な最大長は,クライアント/サーバープロトコルと使用可能なメモリー内の構成済み最大パケットサイズにより決まります。各LONGBLOB
値は,値のバaapl .ト数を示す4バaapl .ト長のプリフィクスを使用して格納されます。长文本[字符集
charset_name
][核对collation_name
]最大長が4294967295または4gバaaplト(232−1)文字の
文本
カラム。値にマルチバesc escト文字が含まれる場合,有効な最大長は少なくなります。量变
カラムの有効な最大長もまた,クライアント/サーバープロトコルと使用可能メモリー内の構成済みの最大パケットサイズにより決まります。各量变
値は,値のバaapl .ト数を示す4バaapl .ト長のプリフィクスを使用して格納されます。枚举('
value1
”、“value2
',…)[字符集charset_name
][核对collation_name
]列挙です。
'
、value1
''
、value2
'...
の値,零
,または特殊な”
エラ値のリストから選択された値を1だけを持ことができる文字列オブジェクトです。枚举
値は,内部では整数として表されます。枚举
カラムには,最大65,535個の個別の要素を含めることができます。(実用的な限度は3000個までです.)テ,ブルには,グル,プと見なされる枚举
および集
カラムの中の一意の要素リスト定義を,255個以下を含めることができます。これらの制限の詳細は,セクションD.10.5 " .frmファル構造により課せられる制限"を参照してください。设置(“
value1
”、“value2
',…)[字符集charset_name
][核对collation_name
]セットです。ゼロ個以上の値を持ことができる文字列オブジェクトであり,そのそれぞれの値は,
'
、value1
''
、value2
'...
値のリストから選択する必要があります。集
値は整数として内部で表されます。集
カラムには最大64個の個別のメンバ,を含めることができます。テ,ブルには,グル,プと見なされる枚举
および集
カラムの中の一意の要素リスト定義を,255個以下を含めることができます。この制限の詳細は,セクションD.10.5 " .frmファル構造により課せられる制限"を参照してください。