Unique
: 컬럼에 데이터의 유일성을 보장하는 제약 조건
Primary Key
: Unique 제약 조건과 컬럼의 Not null 속성을 동시에 만족해야 되는 제약 조건
Foreign Key
: 2개의 테이블에 의해서 구성되는 제약 조건
Check
: 컬럼에 조건을 설정하여 조건에 만족하는 데이터에 대해서만 저장 또는 변경을 허용하는 제약 조건
CREATE TABLE [name]
( number VARCHAR(4) UNIQUE,
name VARCHAR(10),
CONSTRAINT [ condition name ] UNIQUE ( [unique value] )
);
ALTER TABLE [name] ADD CONSTRAINT [condition name] UNIQUE( [unique value] );
ALTER TABLE [name] DROP CONSTRAINT [condition name];
CREATE TABLE [name]
( number VARCHAR(4) NOT NULL Primary Key,
name VARCHAR(10),
CONSTRAINT PRIMARY KEY ( [unique value] )
);
제약 조건의 추가
ALTER TABLE [name] ADD PRIMARY KEY( [col] );
제약 조건의 삭제
ALTER TABLE [name] DROP PRIMARY KEY
제약 조건의 생성
CREATE TABLE [name]
( number VARCHAR(4) NOT NULL Primary key,
dept VARCHAR(4) NOT NULL,
salary VARCHAR(10),
CONSTRAINT [ condition name ] FOREIGN KEY ([val])
REFERENCES [reference table] ( [val] );
제약 조건의 추가
ALTER TABLE [name] ADD CONSTRAINT [condition name] FOREIGN KEY ( [val] ) REFERENCES [ 상위 table ]( [val] );
제약 조건의 삭제
ALTER TABLE [name] DROP CONSTRAINT [val]
CREATE TABLE [name]
( number VARCHAR(4),
salary INT CHECK(salary > 0),
name VARCHAR(8),
CONSTRAINT [condition name] CHECK ( [condition] )
);
ALTER TABLE [name] ADD CONSTRAINT [val] CHECK ( [condition]);
ALTER TABLE [name] DROP CONSTRAINT [val]
FROM information_schema.table_constraints
로 확인FROM information_schema.columns
로 확인 FROM information_schema.key_column_usage
FROM information_schema.check_constraints