制約が追加されたデータテーブルのタイプを制限するために使用されます。
制約は、(あなたがテーブルを作成するときに定義することができるTABLEのCREATE文)、またはテーブルの後にも(を経由して作成することができるのALTER TABLE文で)。
。1、NOT NULL:NULL制約力列の値を受け付けません。
2、UNIQUE:
UNIQUE制約は、一意に識別するデータベーステーブル内の各レコードを。
UNIQUEおよびPRIMARY KEY制約は、一意性の保証を提供するために、列または列のセットです。
PRIMARY KEY制約は自動的にUNIQUEに定義されています。
各テーブルには複数のUNIQUE制約を持つことができますが、各テーブルには一つだけPRIMARY KEY制約を持つことができることに注意してください。
MySQLの:
CREATE TABLE 者 ( Id_P INT NOT NULL 、 氏名VARCHAR(255)NOT NULL 、 姓のVARCHAR(255 )、 アドレスはvarchar(255 )、 都市はvarchar(255 )、 UNIQUE (Id_P) )
SQL Serverの/ Oracleの/ MSアクセス:
CREATE TABLE 者を ( Id_P INT NOT NULL UNIQUE 、 氏名VARCHAR(255)NOT NULL 、 姓はvarchar(255 )、 アドレスはvarchar(255 )、 シティVARCHAR(255 ) )
ALTER TABLE 者は ADD UNIQUE(Id_Pを)
3、PRIMARY KEY:
PRIMARY KEY制約は、一意のデータベーステーブル内の各レコードを識別する。
主キーは、一意の値が含まれている必要があります。
主キー列がNULL値を含めることはできません。
各テーブルには主キーを持っている必要があり、各テーブルには1つのプライマリキーを持つことができます。
MySQLの:
CREATE TABLE 者を ( Id_P INT NOT NULL 、 氏名VARCHAR(255)NOT NULL 、 姓のVARCHAR(255 )、 アドレスはvarchar(255 )、 都市はvarchar(255 )、 PRIMARY KEY (Id_P) )
SQL Serverの/ Oracleの/ MSアクセス:
CREATE TABLE 者を ( Id_P INT NOT NULL PRIMARY KEY 、 氏名VARCHAR(255)NOT NULL 、 姓はvarchar(255 )、 アドレスはvarchar(255 )、 シティVARCHAR(255 ) )
ALTER TABLE 者は ADD PRIMARY KEYを(Id_P)
4、FOREIGN KEY:
別のテーブルにFOREIGN KEY PRIMARY KEYを指しているテーブル。
MySQLの:
CREATE TABLEの受注を ( Id_O INT NOT NULL 、 あるOrderNo INT NOT NULL 、 Id_Pのint型、 PRIMARY KEY (Id_O)、 FOREIGN KEY(Id_P)REFERENCESの人(Id_P) )
SQL Serverの/ Oracleの/ MSアクセス:
CREATE TABLEの受注を ( Id_O INT NOT NULL PRIMARY KEY 、 あるOrderNo INT NOT NULL 、 Id_P int型 FOREIGN KEYの REFERENCESの人(Id_P) )
ALTER TABLEの受注は、 ADD FOREIGN KEYを(Id_P) REFERENCESの人(Id_P)
制約の失効:
ALTER TABLEの受注 DROP FOREIGN KEY fk_PerOrders #MySQL ALTER TABLEの受注 DROP CONSTRAINT fk_PerOrdersの#sqlサーバー/オラクル/ MSアクセス:
5、CHECK:
列の値の範囲を制限するための制約をチェックしてください。
もし単一の列の定義、唯一の特定の列の、値のCHECK制約。
テーブルの上に定義のチェック制約場合、制約は、特定の列の値を制限します。
マイSQL: CHECK(ID_P> 0)
ALTER TABLE者 ADD CHECK (Id_P>0)
ALTER TABLE者 DROP CHECK ID_P #取消约束
SQL Serverの/ Oracleの/ MSアクセス:ID_P int型ではないnullをCHECK(ID_P> 0)
ALTER TABLE者 DROP CONSTRAINT ID_P
6、DEFAULT:
列にデフォルト値を挿入するためのDEFAULT制約。
他の値が指定されていない場合、デフォルト値は、すべての新しいレコードに追加されます。
CREATE TABLEの受注を ( Id_O INT NOT NULL 、 あるOrderNo INT NOT NULL 、 Id_P int型、 受注日の日付DEFAULT GETDATE () )
MySQLの:
ALTER TABLE 者 ALTER市のSET DEFAULT ' SANDNES ' ALTER TABLE 者 ALTER市のDROP DEFAULT
SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE 者 のALTER COLUMN市のSET DEFAULT ' SANDNES ' ALTER TABLE 者 のALTER COLUMN市のDROP DEFAULT