MySQLでは、さまざまなレベルで文字セットと照合を指定できます。これらは、接続レベル、サーバーレベル、データベースレベル、テーブルレベル、および列レベルで指定できます。クエリで照合を指定して、前述のレベルで以前に指定された照合を上書きすることもできます。
文字セットと照合を列レベルで設定するには、CREATE TABLEを使用できます。 ステートメントまたはALTER TABLE ステートメント(テーブルを作成するか変更するかによって異なります)、および列の定義(文字セット/照合を設定する列)内で文字セットと照合を指定します。
文字セットと照合を設定する
テーブルを最初に作成するときに特定の列の文字セットと照合を設定するには、CHARACTER SETを使用します およびCOLLATE CREATE TABLE内の句 ステートメント:
CREATE TABLE Tasks (
TaskId INT NOT NULL AUTO_INCREMENT,
TaskName VARCHAR(255) NOT NULL
CHARACTER SET big5
COLLATE big5_chinese_ci,
PRIMARY KEY (TaskId));
テーブル全体の文字セットと照合を指定するのではなく、特定の列(この場合はTaskName)にのみ指定していることに注意してください。 列)。
この例では、列の文字セットをbig5に設定します big5_chinese_ciへの照合 。これは、データベースおよびサーバーレベルで設定されているデフォルトの照合を上書きします。
文字セットと照合を変更する
既存の列の文字セットと照合を変更するには、CHARACTER SETを使用します およびCOLLATE ALTER TABLE内の句 ステートメント:
ALTER TABLE Tasks MODIFY
TaskName VARCHAR(255)
CHARACTER SET hebrew
COLLATE hebrew_general_ci
NOT NULL;
これにより、列の文字セットがhebrewに変更されます hebrew_general_ciへの照合 。
照合を確認する
MySQL Workbenchでは、テーブルを右クリックして Alter Table ... を選択することにより、列の照合を確認できます。 、次に上部ペインで該当する列を選択します。照合は 列の詳細 に表示されます ペイン。
SQLを使用して列の照合を確認する方法もいくつかあります。