MySQL 速習チュートリアル

MySQL 制約

1. 制約(Constraints)の作成

制約(Constraints)とは、テーブル内のデータに適用されるルールのことです。

制約を使用することで、テーブルへの無効なデータの挿入を防ぎ、格納されるデータの正確性と信頼性を担保します。もし、実行しようとしたデータ操作が制約に違反している場合、そのアクションは中止(アボート)されます。

制約を定義する方法は、大きく分けて以下の2通りがあります。

  • テーブル作成時に指定する(CREATE TABLE ステートメントを使用)
  • テーブル作成後に指定する(ALTER TABLE ステートメントを使用)

2. MySQL で利用される主な制約

MySQL では、主に以下の制約が頻繁に使用されます。

制約名説明
NOT NULLカラムに NULL 値が保存されるのを防ぎます。
UNIQUEカラム内のすべての値が重複せず、ユニーク(一意)であることを保証します。
PRIMARY KEYテーブル内の各行を一意に識別するための制約です(NOT NULLUNIQUE の組み合わせ)。
FOREIGN KEY2つのテーブル間のデータにリンクを確立し、そのリンクを破壊するような操作を防ぎます。
CHECKカラムに格納される値が、特定の条件を満たしているかを確認します。
DEFAULT値が指定されなかった場合に、カラムにセットされるデフォルト値を設定します。
CREATE INDEXデータベースからデータをより高速に取得するためのインデックスを作成します。