-
SQL INSERT(행 추가하기)Database 2021. 3. 25. 13:50728x90
SELECT 명령은 질의를 하면 데이터베이스 서버가 클라이언트로 결과를 반환하는 병식으로 처리되었다.
데이터를 추가할 경우에는 이와 반대로 클라이언트에서 서버로 데이터를 전송하는 형식을 취하며 DB서버는 전송받은 데이터를 일련의 규칙 또는 사용자 정의에 따라 데이터베이스에 저장한다.
INSERT로 행 추가하기
INSERT 명령은 테이블의 행 단위로 데이터를 추가한다.
INSERT INTO genders VALUES(값1, 값2..)
아래와 같이 INSERT 명령은 처리 상태만 표시될뿐 SELECT 명령 처럼 결과를 출력해주지 않는다.
또한 각열에 대해 어떤 데이터를 저장할 수 있는지 확인하여
알맞은 데이터를 넣어줘야 에러가 발생하지 않는다.
desc genders;
INSERT 열을 지정하여 데이터 저장하기
열을 지정하여 데이터를 저장할 수 있다.
이때 특정 열의 속성값으로 nullable 여부와 default값 등을 활용하여 지정할 수 있다.
INSERT INTO (id, name) VALUES (NULL, "NULLTEST");
필드 id의 경우 NULL값이 어떻게 적용될 수 있었을까?
데이터 정의시 해당 열을 PK and auto_increment 옵션으로 인해 NULL로 값을 전송해도 알아서
이전 id 값에서 증가한 5를 저장한다. (기본적으로 id 열은 현재 NOT NULL 제약이 걸려있는 상태이다)
또한, 아래와 같이 특정 값으로도 데이터를 저장 할 수 있다
INSERT genders (id, name) VALUES(10, 'NULLTEST');
Default 값 활용하기
default값을 이용하여
명시적으로 default를 지정하는 방법과
암묵적으로 default를 지정하는 방법으로 나눌 수 있다.
명시적으로 default 지정하는 방법
만약 genders 테이블의 name열에 대해 default값이 지정되어있다면 아래와 같이 입력하여 데이터를 저장 할 수 있다.
(예시)
INSERT INTO genders(id, name) VALUES(10, DEFAULT);
암묵적으로 default 지정하는 방법
아래와 같이 아무것도 지정하지 않은 경우 default값으로 데이터가 저장된다.
(예시)
INSERT INTO genders(id) VALUES(10);
출처 :
SQL 첫걸음/ 아사이 아츠시 지음/ 한빛미디어
728x90'Database' 카테고리의 다른 글
SQL UPDATE (데이터 갱신하기) (0) 2021.03.25 SQL DELETE(행 삭제하기) (2) 2021.03.25 SQL CASE (0) 2021.03.17 SQL 날짜연산 (0) 2021.03.17 SQL 문자열 연산 (0) 2021.03.08