자격증/SQLD

[SQL 첫걸음] 16강. 행 추가하기 - INSERT

동호다찌 2022. 4. 4. 09:25

행 추가하기 - INSERT

  • SELECT는 질의를 하면 DB 서버에서 클라이언트로 결과를 반환하는 검색 명령이다.
    반대로 INSERT,UPDATE,DELETE 등 데이터를 변경하는 명령은 클라이언트에서 서버로 데이터를 전송한다.

INSERT 로 행 추가하기

INSERT [INTO] 테이블 VALUES (값1,값2...);

  • sample41 저장된 데이터가 없는 테이블이다.
  • DESC로 조회한 저장가능한 데이터 유형은 위와 같다.
INSERT INTO sample41 VALUES(1,'ABC','2021-01-26');

  • 위 명령으로 sample41 테이블에 데이터를 추가한 후 다시 조회하면 다음과 같은 결과가 나온다.

값을 저정할 열 지정하기

INSERT [INTO] 테이블(열1,열2...) VALUES (값1,값2...);
  • INSERT 명령에서 열을 지정하고 행을 추가할 수 있다. 이때 추가하는 값은 지정한 열과 갯수가 동일해야 하고, 값을 받지 못한 열은 기본값을 가지게 된다.
INSERT INTO sample41(a,no) VALUES('XYZ',2);

NOT NULL 제약

  • 행을 추가할 때 NULL로 값을 지정할 수도 있지만, NULL 값을 허용하지 않는 NOT NULL 제약이 걸린 열에 대해서는 에러가 발생한다.
  • sample41 테이블의 no열에는 NOT NULL 제약이 걸려있기 때문에 하단 쿼리를 작성 시 에러가 발생한다.
// no열 값에 3을 주고 다시 실행하면 문제 없이 실행된다.
INSERT INTO sample41(no,a,b) VALUES(NULL,NULL,NULL);
INSERT INTO sample41(no,a,b) VALUES(3,NULL,NULL);

DEFAULT

  • DESC의 결과에서 Default 항목은 명시적으로 값을 지정하지 않았을 경우 사용하는 초기값을 말한다.
INSERT [INTO] 테이블(열1,열2) VALUES (값1,DEFAULT); 
INSERT [INTO] 테이블(열1) VALUES (값1);