๑ `⌃´ ๑

피곤한 오후...오늘은 제약조건에 대해 정리해보자.

제약조건은 컬럼에 데이터를 넣을 때 특정한 조건을 만족시켜야 할 경우 사용한다.

 

1. 기본키 제약조건(Primary Key, PK)

테이블당 1개만 존재하며, 중복과 null을 허용하지 않는다. 한 개의 컬럼에 지정하는 것이 일반적이지만 최대 16개 컬럼에 지정할 수 있다. 일반적으로 가장 많이 사용하는 방법은 테이블 생성시 함께 기본키를 지정하는 것이다.

 

1
2
3
4
create table pkTest(
    first_col int(3primary key
    ,sec_col varchar(4)
);
cs

 

이미 만들어놓은 테이블에 키를 추가할 경우에는,

alter table [테이블 이름] add constraint [이름] [제약조건 종류] [적용 필드];

1
alter table employees add constraint pk_employees primary key (emp_no);
cs

이러한 방식으로 사용한다.

기본키를 설정해놓으면 중복으로 데이터가 들어갈 수 없으며, upsert를 사용할 수 있게 된다.(조건을 설정했으므로)

 

 

2. Not null 제약조건

not null 제약조건은 제약조건이라기 보다는 컬럼의 속성으로 취급하는 것이 편하다.

테이블 생성시 추가할 수 있으며,

1
2
3
4
create table pkTest(
    first_col int(3primary key
    ,sec_col varchar(4not null
);
cs

 

이미 존재하는 테이블에도 추가가 가능하다.

alter table [테이블명] modify [컬럼명][데이터타입]([사이즈]) not null;

1
2
alter table pktest modify sec_col varchar(4not null;
 
cs

 

 

3. 제약조건 확인과 삭제

not null은 속성으로 취급하므로 아래 쿼리로 찾을 수 없다. ''에는 테이블명을 넣는다.

1
2
select * from information_schema.TABLE_CONSTRAINTS where TABLE_NAME = 'pktest';
 
cs

 

제약조건 삭제는 drop을 이용한다.

alter table [테이블 이름] drop [제약조건 종류];

1
2
alter table pktest drop primary key;
 
cs

 

 

'Database' 카테고리의 다른 글

Join(조인)  (0) 2022.04.28
집합(Union)  (0) 2022.04.28
서브 쿼리(Sub Query)  (6) 2022.04.27
참조제약 조건과 연계 참조 무결성 제약조건  (0) 2022.04.26
Table 만들기  (0) 2022.04.25
🎵 Playlist
loading...
00:00 / 00:00