이전 글에서는 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 |