「MySQL - データベース」の版間の差分

ナビゲーションに移動 検索に移動
1行目: 1行目:
== 概要 ==
== 概要 ==
<br><br>
== データベースの作成 ==
==== 文字コード ====
データベースの作成時において、文字コードを指定する。<br>
<syntaxhighlight lang="mysql">
CREATE DATABASE <データベース名>
    CHARACTER SET=utf8mb4  -- 文字コードをutf8mb4に指定する場合
</syntaxhighlight>
<br>
MySQLのデフォルトの文字コードを確認する。<br>
<syntaxhighlight lang="mysql">
Show Variables Like "chara%";
</syntaxhighlight>
<br>
MySQLのデフォルトの文字コードを設定する場合は、my.cnfファイルを編集する。<br>
<syntaxhighlight lang="ini">
# my.cnfファイル
[mysqld]
character-set-server=utf8mb4  # MySQLサーバのデフォルトの文字コードを指定する
[client]
default-character-set=utf8mb4  # MySQLクライアントのデフォルトの文字コードを指定する
</syntaxhighlight>
<br>
既存のデータベースの文字コードは、INFORMATION_SCHEMAデータベースのSCHEMATAテーブルから確認することができる。<br>
<syntaxhighlight lang="mysql">
SELECT SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME
    FROM INFORMATION_SCHEMA.SCHEMATA
    WHERE SCHEMA_NAME = '<データベース名>';
</syntaxhighlight>
<br>
既存のデータベースの文字コードを変更する。<br>
<syntaxhighlight lang="mysql">
ALTER DATABASE <データベース名>
    [[DEFAULT] CHARACTER SET <文字コード>]
    [[DEFAULT] COLLATE <照合順序>]
# 例: 文字コードはutf8mb4, 照合順序はutf8mb4_general_ci
ALTER DATABASE <データベース名>
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_general_ci;
</syntaxhighlight>
<br>
==== 既存のデータベースの存在を確認して作成 ====
既存のデータベースが存在していない場合はデータベースを作成する。<br>
これは、データベースの重複、または、既存のデータベースを上書き/削除することを防ぐことができる。<br>
CREATE DATABASE IF NOT EXISTS <データベース名>
    CHARACTER SET=utf8mb4
<br>
==== データベースの暗号化 ====
暗号化プラグインのインストールが必要である。<br>
CREATE DATABASE IF NOT EXISTS <データベース名>
    CHARACTER SET=utf8mb4
    ENCRYPTION='Y'  -- 暗号化を有効にする場合
                    -- 無効にする場合は、Nを指定する
<br><br>
<br><br>


案内メニュー