自由気ままに書いちゃおう

好きなことをつらつらと・・・

【MySQL】制約について

今回はMySQLだけの話ではないですが、制約についてです。

■制約とは?

ある条件を課して、自由にはさせないこと。その物事のために必要な条件のことです。
MySQLでは、以下の3つがあります。
① キー制約
② Null/NotNull制約
③ デフォルト値制約

詳細は後述致します。

■① キー制約

PrimaryKey(主キー)/ForeignKey(外部キー)の制約のことです。

■PrimaryKeyの制約

PrimaryKeyに設定された列は、その列内において重複データは登録できません。

■PrimaryKeyの機能

PrimaryKeyに設定した列には自動的にインデックス(索引)が作成されます。
そのため、PrimaryKeyに設定された列のデータ検索をより早く行うことができます。

 

■ForeignKeyの制約

ForeignKeyに設定された列は、他の列に登録されているデータ以外は登録できません。

■ForeignKeyの機能

ForeignKeyに設定された列のデータは、必ず指定した他の列のデータと同じになります。

■② Null/NotNull制約

列内のデータの空データを許容するか(=Null)、許容しないか(=NotNull)の制約です。
デフォルトでは、指定しない限りはNullが選択されます。

■① デフォルト値制約

データを入力する際に何も値を指定しなかった場合に、デフォルトで格納される値を定義することができます。

以上です。