중복 불가
CREATE TABLE <table-name> (
column1 type UNIQUE,
column2 type
);
CREATE TABLE test1 (
column1 type NOT NULL,
column2 type NOT NULL,
UNIQUE (column1, column2) // value가 (value1, value2)조합인 데이터는 불가능
);
직접 column에 제약 조건을 정의, 제약 조건의 이름 변경
CREATE TABLE <table-name> (
column1 type,
column2 CONSTRAINT 제약 조건의 이름 CHECK (column2의 조건)
);
ex) CREATE TABLE users (
name VARCHAR(50),
age INT CONSTRAINT age_over_20 CHECK (age > 18)
);
[참고] alter table (column의 수정 정보)
column 추가
ALTER TABLE <table-name>
ADD COLUMN new-column type (DEFAULT default-value);
column 이름 변경
ALTER TABLE <table-name>
RENAME COLUMN column TO new-column
column 삭제
ALTER TABLE <table-name>
DROP COLUMN column;
테이블 이름 변경
RENAME TABLE <table-name> TO <new-table-name>;
or
ALTER TABLE <table-name>
RENAME TO <new-table-name>;
column 정의 변경
ALTER TABLE <table-name> MODIFY column new-type;
column 이름 변경과 column 정의 변경
ALTER TABLE <table-name> CHANGE column new-column new-type;
ex) ALTER TABLE companies CHANGE name company-name VARCHAR(50) DEFAULT 'unknown';
제약 추가하기
ALTER TABLE <table-name> ADD CONSTRAINT 제약 조건의 이름 CHECK (column의 조건);
제약 삭제하기
ALTER TABLE <table-name> DROP CONSTRAINT 제약 조건의 이름;