INSERT

Hyun-jin Won·2021년 10월 12일
0

MySQL로 SQL 시작하기

목록 보기
14/24

데이터의 삽입

INSERT INTO TABLE[(column, colunm명...)] VALUES(1,2 ...);

데이터를 테이블에 삽입할 때에는 INSERT 문을 활용한다.
INSERT 문을 사용할 때에는 값을 VALUES에 table column 순서대로 차례도록 입력한다.
단 column의 순서를 변경하거나, 특정 column들의 값을 집어넣고 싶다면 table명 뒤에 해당 column명을 소괄호 안에 넣는다.
이 때 VALUES 값은 앞에 입력한 column의 순서에 맞게 들어가게 된다.

테이블의 column에는 규칙이 있다.

테이블의 column에는 특정 규칙이 존재하는 경우가 있다.
그 중 대표적으로는 NOT NULL, DEFAULT가 있으며 이는 아래에서 서술한다.

NOT NULL

말 그대로 해당 COLUMN 값은 NULL 값을 허용하지 않는다는 말이다.
INSERT 에서 명시되지 않는 column 값은 데이터가 기본적으로 NULL값이 들어가게 되는데, 해당 제약조건은 INSERT 도중 NULL값을 확인하면 에러를 띄우며 쿼리를 거부한다.

그렇기에 사용자는 항상 이러한 규칙을 가지는 column에는 데이터를 넣어주어야 한다. 단, 이러한 것 없이 기본값을 넣고 싶다면 DEFAULT 기능을 사용하면 된다.

DEFAULT

column의 데이터값을 table에서 설정되어 있는 DEFAULT 값을 집어넣게 하는 예약어이다.
기본적으로 모든 column의 DEFAULT 값은 NULL로 설정되어 있으며, 이러한 이유로 우리가 데이터를 넣을 때 이를 일부 생략하면 해당 데이터가 NULL이 들어가게 되는 것이다.

MySQL DBMS는 DEFAULT값을 NULL외에 다른 값으로 설정할 수 있다. 만약 NOT NULL로 설정되어있는 column의 DEFAULT가 NULL이 아니라면, 이를 생략해도 정상적으로 DEFAULT값이 들어가게 된다. 만약 INSERT문에서 이를 명시하고 싶다면, 해당 column의 VALUES 값에 DEFAULT를 넣어주면 된다.

INSERT INTO TABLENAME(def_column_name) VALUES (DEFAULT);
profile
삽질을 주체하지 못하는 잉간

0개의 댓글