세로 : 열 (column) == 필드 == 속성 (attribute)
가로 : 행 (row) == 튜플 == 레코드
CREATE TABLE 테이블이름
(필드이름 필드타입 PRIMARY KEY, ...)
// 아래 방법을 사용하면 해당 제약조건에 이름 설정이 가능함
CREATE TABLE 테이블이름
(필드이름 필드타입, ...,
[CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름))
ALTER TABLE 테이블이름
ADD 필드이름 필드타입 PRIMARY KEY
//or
ALTER TABLE 테이블이름
ADD [CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름)
ALTER TABLE 테이블이름
MODIFY COLUMN 필드이름 필드타입 PRIMARY KEY
//or
ALTER TABLE 테이블이름
MODIFY COLUMN [CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름)
ALTER TABLE 테이블이름
DROP PRIMARY KEY
CREATE TABLE 테이블이름
(
필드이름 필드타입, ...,
[CONSTRAINT 제약조건이름]
FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름) // 참조하고 있는 테이블의 컬럼
)
// FOREIGN KEY (필드이름) 의 필드는 REFERENCES 테이블이름 (필드이름) 를 참조
ALTER TABLE 테이블이름
ADD [CONSTRAINT 제약조건이름]
FOREIGN KEY (필드이름)
REFERENCES 테이블이름 (필드이름) // 참조하는 테이블의 컬럼
ALTER TABLE 테이블이름
DROP FOREIGN KEY 제약조건이름
ON DELETE, ON UPDATE
- 위에서 본 것과 같이 참조되는 테이블 (REFERENCES ~~) 의 수정, 삭제 발생 시 참조하고 있는 테이블의 데이터도 영향
- 이럴 때
삭제
의 경우에는ON DELETE
로,수정
은ON UPDATE
구문으로 설정이 가능하다설정할 수 있는 동작
CASCADE
참조되는 테이블 데이터 삭제 수정하면, 참조하는 테이블도 같이 이뤄진다.SET NULL
참조되는 테이블 데이터 삭제 수정하면, NULL로 변경NO ACTION
참조되는 테이블 데이터 삭제, 수정해도 변경없음SET DEFAULT
참조되는 테이블 데이터 삭제, 수정하면 필드 기본 값으로 설정된다.RESTRICT
참조되는 테이블 데이터 남아 있으면, 데이터 삭제 수정 할 수 없다.
CREATE TABLE 테이블이름
(
필드명 필드타입 UNIQUE, ...
)
CREATE TABLE 테이블이름
(
필드이름 필드타입 DEFAULT 기본값, ...
)
CREATE TABLE 테이블이름
(
필드이름 필드타입 NOT NULL, ...
)
mem_id char(8) not null primary key
height tinyint unsigned null check (height >= 100)