MySQL 制約
1. 制約(Constraints)の作成
制約(Constraints)とは、テーブル内のデータに適用されるルールのことです。
制約を使用することで、テーブルへの無効なデータの挿入を防ぎ、格納されるデータの正確性と信頼性を担保します。もし、実行しようとしたデータ操作が制約に違反している場合、そのアクションは中止(アボート)されます。
制約を定義する方法は、大きく分けて以下の2通りがあります。
- テーブル作成時に指定する(
CREATE TABLEステートメントを使用) - テーブル作成後に指定する(
ALTER TABLEステートメントを使用)
2. MySQL で利用される主な制約
MySQL では、主に以下の制約が頻繁に使用されます。
| 制約名 | 説明 |
|---|---|
| NOT NULL | カラムに NULL 値が保存されるのを防ぎます。 |
| UNIQUE | カラム内のすべての値が重複せず、ユニーク(一意)であることを保証します。 |
| PRIMARY KEY | テーブル内の各行を一意に識別するための制約です(NOT NULL と UNIQUE の組み合わせ)。 |
| FOREIGN KEY | 2つのテーブル間のデータにリンクを確立し、そのリンクを破壊するような操作を防ぎます。 |
| CHECK | カラムに格納される値が、特定の条件を満たしているかを確認します。 |
| DEFAULT | 値が指定されなかった場合に、カラムにセットされるデフォルト値を設定します。 |
| CREATE INDEX | データベースからデータをより高速に取得するためのインデックスを作成します。 |