본문 바로가기

IT 로그

[SQL] 테이블 생성 방법, NOT NULL, UK(Unique Key) , Check

728x90
반응형

테이블 생성 방법을 공부해봅시다.

 

[기본구조] 

create table  테이블명 

( 칼럼이름 데이터형(데이터사이즈) , 

constraint 제약조건 명 제약조건 종류 (제약조건 내용)) 

 

[예시]

create table TEST111111(
    NO number(4),
    NAME varchar2(20) constraint emp_ename_nn not null,
    GNO varchar2(13),
    TYPE varchar2(5),
    constraint T_gno_uk unique (GNO),
    constraint T_gno_ck check (length(GNO) = 13),
    constraint Type_ck check (type in ('perfume', 'water'))
);

 

[결과]

< not null > 

[test]

insert into  TEST111111 
select '','','1','1' from dual;

not null로 지정한 필드를 NULL 값으로 INSERT 하려고 하면 NULL 값 삽입 불가 에러가 발생합니다. 

 

< unique >

[test]

insert into  TEST111111 
select '1','복','1234567890123','water' from dual;

 

 

insert into  TEST111111 
select '2','복날
','1234567890123','water' from dual;

같은 GNO를 INSERT하려고 하면 무결성 제약조건 에러가 발생합니다. 

 

 

< check >

[test]

GNO 필드를 '12' 라는 문자를 넣으려는 경우 

길이가 13자리가 안되기 때문에 역시 Check Constraint에 위배된다는 에러가 발생한다.

insert into  TEST111111 
select '2','복날
','12','water' from dual;

테이블 생성 방법을 알아봤습니다.

NOT NULL, UK(Unique Key) , Check  등 다양한 조건에 맞춰 필드를 설정할때 위 방법들을 이용해주면 좋을 것 같네요.

 

그럼 오늘도 좋은 하루 되세요 ~ 

반응형