mysql 컬럼 제약조건(constraints)

LikeChoonsik's·2022년 12월 26일
0

Mysql

목록 보기
10/21
post-thumbnail

NOT NULL 제약조건

CREATE TABLE new_table (
id INT NOT NULL,
이름 VARCHAR(100) NOT NULL,
나이 INT
)

빈값이 있으면 저장안되게 하는 조건

UNIQUE 제약조건

CREATE TABLE new_table (
id INT UNIQUE,
이름 VARCHAR(100),
나이 INT
)

컬럼안 모든 행에 중복이 없어야 저장 가능하게 하는 조건

CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT,
UNIQUE(이름, 나이)
)

이런식으로 사용시 이름과 나이가 둘 다 중복이면 저장을 막아줌

CHECK() 제약조건

CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT CHECK (나이 > 0),
)

IF문처럼 조건식 삽입 가능

PRIMARY KEY 제약조건

CREATE TABLE new_table (
id INT PRIMARY KEY,
이름 VARCHAR(100),
나이 INT CHECK (나이 > 0),
)
OR
CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT,
PRIMARY KEY (id),
CHECK(나이 > 10)
)

NOT NULL, UNIQUE 제약 조건을 자동으로 부여, 키값만들때 쓰면 될 듯

AUTO_INCREMENT 제약조건

CREATE TABLE new_table (
id INT AUTO_INCREMENT PRIMARY KEY,
이름 VARCHAR(100),
나이 INT,
)

1씩 자동증가, 키값에 쓰면 될 듯

CONSTRAINT 문법

CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT,
CONSTRAINT 제약조건작명 PRIMARY KEY (id),
CONSTRAINT 제약조건작명2 CHECK(나이 > 10)
)

기존 컬럼 제약조건을 수정하려면

ALTER TABLE 테이블명 MODIFY 컬럼명 int NOT NULL;

위와 같이 사용

profile
춘식이는 너무 귀엽습니다.

0개의 댓글