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を使用して列の照合を確認する方法もいくつかあります。