ホームページ  >  記事  >  データベース  >  SQLサーバーの制約

SQLサーバーの制約

一个新手
一个新手オリジナル
2017-10-18 10:02:531759ブラウズ

制約の概念: 有効な値が列に入力されていることを確認し、テーブル間の関係を維持します。


主キー制約

機能: 主キー (主キー制約)、テーブル内に 1 つだけ存在でき、NULL 値や重複値は禁止です。

テーブルの作成時に制約を定義します: フィールドname データ型 [長さ] 主キー

一意制約
機能: unique (一意制約)、同じ列内の 2 つの行が同じ値を持つことができず、1 つの行のみが null 値を持つことができることを指定します。

テーブル作成時に制約を定義: フィールド名 データ型一意

デフォルト制約

機能: insert ステートメントを実行すると、制約が配置されている列にデフォルト値が自動的に挿入されます

作成時に制約を定義テーブル: フィールド名 データ型 デフォルト値
デフォルト制約の注意事項
1. デフォルト制約は、列ごとに 1 つだけ定義できます。
2. ID 属性を持つ列には使用できません。
3. 定義されたデフォルト値が対応するフィールドの許容長よりも長い場合、テーブルに入力されたデフォルト値は切り捨てられます。
4. デフォルト制約のあるフィールドには、他の値を挿入できます。挿入しない場合、デフォルト値がレコード値となり、後で作成されたデフォルト制約は既存のデータに影響を与えません。

機能: check (チェック制約)。Insert/update ステートメントが実行されるたびに、制約はデータの正当性を検証する必要があります。

テーブル作成時に制約を定義:フィールド名データ型チェック(条件)
チェック制約の注意点

1. テーブル内に複数のチェック制約を定義できますが、フィールドごとに定義できるチェック制約は1つだけです。

2. insert ステートメントまたは update ステートメントを実行すると、チェック制約によってデータが検証されます。

3. すでにデータがあるテーブルに制約を追加する場合は、nocheck を使用して前のデータのチェックを回避できます。



機能: (メインテーブル内の) 主キーと外部キー ( (補助テーブル内)。
テーブルを作成するときに制約を定義します: フィールド名 データ型 外部キー (フィールド名) はテーブル名 (フィールド名) を参照します

注: 外部キー句で指定された列の数とデータ型は列の数と同じである必要があります参照句内のデータ型が一致します。また、関連付けられたテーブルのフィールドは主キーとして設定する必要があります

制約を変更する



テーブルを変更するときに制約を追加する

alter table 表名
add constraint 约束名 primary key(字段名) –-主键
add constraint 约束名 unique (字段名)    --唯一
add constraint 约束名 default(默认值) for 字段名 –默认
add constraint 约束名 check(条件) –检查
add constraint 约束名 foreign key(字段名) references 主键表(参照字段名)  --外键

制約を削除する
構文:

alter table 表名 drop 约束名

[例]削除します。 xs テーブル pk_xs 制約。

alter table xs drop constraint  pk_xs
注: 1. 制約された列を削除するには、まず制約を削除する必要があります
2. 外部キー制約がある場合、主キーを削除するには、まず対応する外部キーを削除する必要があります


以上がSQLサーバーの制約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。