「MySQL - テーブル」の版間の差分

ナビゲーションに移動 検索に移動
182行目: 182行目:
<u>テーブル全体に対する照合順序を一括で指定する方法は提供されていないことに注意する。</u><br>
<u>テーブル全体に対する照合順序を一括で指定する方法は提供されていないことに注意する。</u><br>
<br>
<br>
==== 既存のテーブルや列の照合順序の変更 ====
==== 既存のテーブルやカラムの照合順序の変更 ====
既存のテーブルや列の照合順序を変更することも可能である。<br>
既存のテーブルやカラムの照合順序を変更することも可能である。<br>
<br>
<br>
以下の例では、テーブルの該当カラムの照合順序を<code>utf8mb4_unicode_ci</code>に変更している。<br>
===== 全てのカラムの照合順序の変換 =====
全てのカラムの文字コードおよび照合順序を変換する。<br>
これは、テーブルの文字コードと各カラムの文字コードを揃える時に使用する。<br>
<syntaxhighlight lang="mysql">
ALTER TABLE <テーブル名>
    CONVERT TO CHARACTER SET <文字コード>
    COLLATE <照合順序>  -- オプション
-- 例: sample_tableテーブルの文字コードをutf8mb4、照合順序をutf8mb4_general_ciに変更する
ALTER TABLE sample_table
    CONVERT TO CHARACTER SET utf8mb4
    COLLATE utf8mb4_general_ci
</syntaxhighlight>
<br>
===== 任意のカラムの照合順序の変換 =====
以下の例では、テーブルの任意のカラムの照合順序を<code>utf8mb4_unicode_ci</code>に変更している。<br>
  <syntaxhighlight lang="mysql">
  <syntaxhighlight lang="mysql">
  ALTER TABLE <テーブル名> MODIFY <カラム名> <カラムの型名> COLLATE utf8mb4_unicode_ci;
  ALTER TABLE <テーブル名> MODIFY <カラム名> <カラムの型名> COLLATE utf8mb4_unicode_ci;
   
   
  -- 例
  -- 例: sample_tableテーブルのsample_colカラムをutf8mb4_unicode_ciに変更する
  ALTER TABLE <テーブル名> MODIFY hoge_col VARCHAR(255) COLLATE utf8mb4_unicode_ci;
  ALTER TABLE sample_table MODIFY sample_col VARCHAR(255) COLLATE utf8mb4_unicode_ci;
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
==== デフォルトの照合順序 ====
==== デフォルトの照合順序 ====
テーブルにおけるデフォルトの照合順序を確認する場合、<br>
テーブルにおけるデフォルトの照合順序を確認する場合、<br>

案内メニュー