Help us understand the problem. What is going on with this article?

SQLまわり

SQLでのテーブルに設定するキーの種類や制約

SQLのテーブルでは、格納する値に様々な制約を設けることで、変なデータを格納させないことができる。

データを格納する処理を実行する側でも制御しますが、SQL側でも制約を設けることで、より確実にデータを格納することができる。

制約の種類

NOT NULL制約

NULL値を許可しない。NOTNULLを制約することで、この列はNULL値を格納できない。
基本、データを格納する時はNULLを許可しないで、必要な時に許可するようにするのが良い。

PRIMARY KEY制約

主キー制約とも言う。これは、重複不可かつNOTNULLを満たしている場合に格納できる。
idに使われることが多く、よく使われる。

UNIQUE制約

ユニーク(一意)と言う意味で、重複を許さない。
同じデータを入れないために使う。

CHECK制約

列の値が条件に該当するかチェックする。
例えば、年齢を入れる列があったとしたら、20歳以上と言う条件を指定することで、20歳未満のデータを入れることができなくなる。

DEFAULT制約

レコードを登録する時、値を指定しなかった場合、初期値を格納する。
初期値を予め設置しておくことで、値を指定しなかった時、その設定した値を入れてくれる。

FOREIGNKEY制約

外部キー制約が設定され、別テーブルとの参照整合性を保つことができる。
別テーブルを参照したい時に使われる。

以上がSQLでの制約でした。

zuotianzhiye
プログラミング初心者です
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした