MySQL8.0のインストールが完了したところで、今度はworkbenchを使用してデータベース(スキーマ)と続けてテーブルを作成してみます。
MySQL Workbenchを起動します
対象のMySQL Connectionをクリックします
パスワードを入力してOKをクリックします
データベース(スキーマ)が無い状態から。
左上のアイコン「Create a new schema」をクリックします
データベース(スキーマ)名とスキーマ内でデフォルトとしたい、charset(文字コード)、collation(照合順序)を指定します
※charset(文字コード)、collation(照合順序)は指定しなければMySQL8.0のデフォルトでそれぞれ、utf8mb4,utf8mb4_0900_ai_ciになります
Applyをクリックします。
Finishをクリックします
データベース(スキーマ)今回はjavadevという名前、charset(文字コード)、collation(照合順序)はデフォルトで作成しました。
続けてテーブルを作成してみます
左上のアイコン「Create a new table」をクリックします
Table Name(テーブル名)を指定します
Column Name(カラム名)、DataType(データ型)他の属性を指定します
※項目を追加するには、赤枠内をダブルクリックすると出来るようになります
DataType(データ型)は項目右横プルダウンをクリックすると選択できるようになっています
指定が完了したら、Applyをクリックします
Applyをクリックします
Finishをクリックします
完成です
charset(文字コード)、collation(照合順序)を指定しなかった為
MySQL8.0のデフォルトでそれぞれ、utf8mb4,utf8mb4_0900_ai_ciで作成されているのが分かります
文字コードは日本語も英語も扱いやすいUTF8(utf8mb4)で良いと思いますがCollationはutf8mb4_unicode_ci:A-a区別しない,は-ぱ区別しない
utf8mb4_general_ci:A-a区別しない,は-ぱ区別する
などの決まりがあり、システムの特性に応じて検討する必要があります。
utf8mb4_binはAとaは別文字等すべての文字を区別する指定になります。
MySQL 8.0での日本語に関するCollation
- utf8mb4_bin Unicodeのコードポイントのみを利用
- utf8mb4_general_ci MySQL 5.7のutf8mb4のデフォルト
- utf8mb4_unicode_ci UCA 4.0.0ベース
- utf8mb4_unicode_520_ci UCA 5.2.0ベース
- utf8mb4_0900_ai_ci MySQL 5.8のutf8mb4のデフォルト,UCA 9.0.0ベース
- utf8mb4_0900_as_cs 大文字小文字およびアクセントを判別,UCA 9.0.0ベース
- utf8mb4_ja_0900_as_cs 日本語独自の照合調整(Tailoring)を含む
- utf8mb4_ja_0900_as_cs_ks ひらがなカタカナを判別
出典
https://gihyo.jp/dev/serial/01/oss-db-various-news/0023
0 件のコメント:
コメントを投稿