제약조건
- 테이블에 잘못된 데이터가 입력되는 것을 방지하기 위한 규칙
- 제약 조건을 통해 무결성을 지킬 수 있음
제약조건의 종류
- NOT NULL
- NULL 값 비허용
- 데이터 입력하지 않으면 에러
- 공백(“”) 입력해도 에러 X
- UNIQUE
- 중복되는 값 비허용
- 똑같은 값 있으면 에러
- NULL은 비교가 불가능해서 중복되어도 에러 발생 X
- DEFAULT
- 기본값 설정
- CHECK
- 값의 범위를 제한해서 특정 값만 허용. 제한한 값 아닌 경우 에러 발생
- ENUM('A', 'B')
- A와 B, 두 가지 값만 받을 수 있음
등등..
제약조건 추가 방법
1. 처음 테이블을 구성할 때 추가
2. 이미 만들어져 있는 테이블에 추가
1. 처음에 추가하는 방법
CONSTRAINT 제약조건이름 제약조건 (적용할 속성)
- 단, NOT NULL과 DEFAULT는 위와 같은 형식으로 불가능
CREATE TABLE student (
id INT
name VARCHAR(10) NOT NULL
phone VARCHAR(10) DEFAULT '000-0000-0000'
class INT
);
- 처음 추가할 때 설정하거나 아래 방식으로 추후에 추가를 해줘야 함
2. 만들어져 있는 테이블에 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건이름 제약조건 (속성);
// 제약조건이름은 생략 가능
- 속성 부분에 소괄호( ) 꼭 포함시키기 !
- 단, DEFAULT와 CHECK 제약조건 추가 코드 방식은 다름
// DEFAULT 제약 조건 수정
ALTER TABLE 테이블명 ALTER 속성 SET DEFAULT 기본값;
// CHECK 제약조건 추가
ALTER TABLE 테이블명 ADD CHECK (컬럼명 조건);
// CHECK는 ADD COLUMN이 아닌 ADD CHECK로 바로
// 컬럼명 따로 지정 없이 조건 내에서 바로
➕ 제약 조건 삭제하기
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건이름;
- 속성 없이 제약조건 이름으로만 삭제 가능
// DEFAULT 제약 조건 삭제
ALTER TABLE 테이블명 ALTER 속성 DROP DEFAULT;
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #개발자국비지원 #온라인코딩 #개발자부트캠프 #내일배움카드코딩 #국비지원부트캠프 #풀스택 #자바스크립트 #React #Express #Nodejs #데이터분석 #파이썬 #SQL #인공지능 #Tensorflow #딥러닝
반응형
'IT Study > DB' 카테고리의 다른 글
[Programmers SQL] WITH RECURSIVE문 (1) | 2024.10.22 |
---|---|
[DB] 인덱스 개념, 종류 및 적용(feat. PostgreSQL) (0) | 2024.01.28 |
[DB] 트랜잭션 (feat. nest.js, PostgreSQL) +에러해결 (0) | 2024.01.26 |
[TypeORM] QueryBuilder | SELECT 절에서 as 사용하기 (with. getMany vs getRawMany) (0) | 2024.01.24 |
[SQL] 데이터조작어(DML) (Feat. Elice 12주차) (0) | 2023.11.11 |