본문 바로가기

SQL문/INSERT

SQL문 INSERT문 2편

반응형

이전 글에서는  SQL문  INSERT문 기본적인 사항에 대해서 확인을 하였습니다. 

 

2022.07.31 - [SQL문/INSERT] - SQL문 INSERT문 사용법

 

이번 글에서는 좀더 INSERT문에 대해서 자세히 확인을 하여 보도록 하겠습니다.  먼저 null을 할당하고 싶은 경우에 어떻게 하는지 확인을 하여 보도록 하겠습니다. 

 

경우에 따라서 열에 NULL를 할당을 해야 하는 경우도 있습니다. 이런 경우에 VALUE 구의 값 리스트에 NULL를 직접 기술을 하시면 됩니다. 

 

아래와 같이 작성을 하시면 됩니다. 

 

INSERT INTO My_INSERT  (M_ID,M_NAME,M_CLASS,S_Price,B_Price,m_date)

VALUES('M_001','홍길동','PC부품','5000',NULL,'2022-5-20');

 

단 해당 열에 NULL 제약 조건이 설정이 되어 있지를  않아야 합니다.  제약조건이  설정이 되어 있는 열에  NULL을 삽입을 하고자 하면  오류가 발생을 합니다. 

 


기본값 설정

 

열에  데이터를 입력하지 않아도  기본적으로 입력이 되는  기본값을 설정을 할 수가 있습니다.  기본값은  테이블을 샐성을 할 때  설정을 할 수도 있고 나중에  설정을 할 수가  이

CREATE TABLE  My_INSERT 
(M_ID             CHAR(4)               NOT  NULL , 
 M_NAME      VARCHAR(100)    NOT  NULL , 
 M_CLASS     VARCHAR(32)      NOT  NULL,
 S_Price         INTEGER              DEFAULT 0,
 B_Price         INTEGER              DEFAULT 0,
 m_date          DATE                    ,
 PRIMARY  KEY (M_ID)) ;

 

이전 글에서 생성한  테이블 구조입니다.  S_Price 열 과   B_Price  열에  기본값 (DEFAULT )을 0으로 설정이 되어 있는 것을 확인을 할 수가 있습니다. 

 

이렇게 DEFAULT 제약조건을 설정을 하시면   다른 열에  데이터를 입력하고  S_Price 열 과   B_Price  열에 아무런  데이터를 입력하지 않아도  기본적으로 0 이라는  데이터가 입력이 됩니다. 

 

이런  DEFAULT  값은  명시적으로 방법과  암묵적 방법으로  입력하는 방법이 있습니다. 먼저  명시적 방법에 대해서 보도록 하겠습니다. 

 

INSERT INTO My_INSERT  (M_ID,M_NAME,M_CLASS,S_Price,B_Price,m_date)
VALUES('M_001','홍길동','PC부품','5000',DEFAULT,'2022-5-20');

 

이렇게 VALUES 구에  DEFAULT   키워드를 지정을 해서 작성을 하는 방법을  명시적 방법입니다.   암묵적 방법은  아래와 같이 작성을 하는 방법입니다. 

 

INSERT INTO My_INSERT  (M_ID,M_NAME,M_CLASS,S_Price,m_date)
VALUES('M_001','홍길동','PC부품','5000','2022-5-20');

 

위 구문을 보시면 B_Price 열이 생략이 되어 있는 것을 확인을 할 수가 있습니다. 이렇게 작성을 하고  데이터를 확인을 하여 보시면  B_Price 열에 0 이라는 DEFAULT   값이 입력이 되어 있는 것을 확을 할 수가 있습니다. 

 

두 가지 방법에 중에  원하는 방법을  이용을 해서  작성을 하시면 됩니다. 좀더 명확하게 확인을 하고 싶다면 명시적 방법을 이용을 하는 것이 좋습니다. 


오늘은 여기까지  알아보도록 하겠습니다.   다음 글에서는  테이블의  데이터를  복사를 해서 다른 테이블로 삽입을 하는 방법에 대해서 확인을 하여 보도록 하겠습니다. 

반응형

'SQL문 > INSERT' 카테고리의 다른 글

SQL문 INSERT문 3편 복사하기  (0) 2022.08.04
SQL문 INSERT문 사용법  (0) 2022.07.31