충분히 쌓여가는
12 INSERT 문으로 데이터 삽입하기 본문
INSERT 문으로 데이터 삽입하기
데이터를 삽입하려면 INSERT 문으로 사용한다.
INSERT 문의 기본 형식
INSERT INTO 테이블 [열1, 열2, ...] VALUES [값1, 값2, ...];
데이터를 삽입, 수정, 삭제하려면 테이블이 필요하다.
doit_dml이라는 이름의 테이블을 생성하고 각 열에 데이터를 입력하는 쿼리
USE DoItSQL;
CREATE TABLE doit_dml (
col_1 INT,
col_2 NVARCHAR(50),
col_3 DATETIME
)
GO
INSERT INTO doit_dml(col_1, col_2, col_3)
VALUES (1, 'DoItSQL', '2021-01-01')
테이블에 삽입한 데이터 검색
SELECT * FROM doit_dml;
INSERT 문의 특이사항
테이블에 데이터를 삽입할 때 열 이름을 생략할 수 있다.
하지만 열 이름을 생략하려면 VALUES 문 뒤에 테이블의 열 순서와 개수에 맞춰 데이터를 채워야 한다.
열 이름을 생략하고 테이블에 데이터 삽입
INSERT INTO doit_dml
VALUES (2, N'열 이름 생략', '2021-01-02');
테이블에 삽입한 데이터 검색
SELECT * FROM doit_dml;
만약 col_3 위치에 해당하는 값을 입력하지 않으면 테이블의 열 개수와 입력한 값의 개수가 일치하지 않아 오류가 발생한다.
INSERT INTO doit_dml
VALUES (2, N'col_3 값 생략');
col_1, col_2 열에만 데이터를 삽입하는 방법
테이블 이름 다음에 삽입 대상 열만 소괄호로 나열한다.
INSERT INTO doit_dml(col_1, col_2)
VALUES (2, N'col_3 값 생략');
테이블에 삽입한 데이터 검색
SELECT * FROM doit_dml;
삽입하려는 데이터의 순서 변경
INSERT INTO doit_dml(col_1, col_3, col_2)
VALUES (4, '2021-01-03', N'열 순서 변경');
테이블에 삽입한 데이터 검색
SELECT * FROM doit_dml;
여러 데이터 한 번에 삽입
INSERT 문을 여러 번 작성하거나
삽입할 값을 소괄호로 묶어 쉼표로 구분하는 방법이 효율적이다.
INSERT INTO doit_dml(col_1, col_2, col_3)
VALUES (5, N'데이터 입력5', '2021-01-03'), (6, N'데이터 입력6', '2021-01-03'), (7, N'데이터 입력7', '2021-01-03');
테이블에 삽입한 데이터 검색
SELECT * FROM doit_dml;
데이터를 삽입할 때 자료형과 맞지 않으면 오류가 발생한다.
숫자형 열에 문자형을 삽입해 오류가 발생하는 쿼리
INSERT INTO doit_dml(col_1) VALUES (N'문자입력');
NULL을 허용하지 않도록 테이블 생성
NULL은 어떠한 값도 정의되지 않은 상태이다.
테이블에 NULL이 생성된 이유는 '테이블을 생성할 때 NULL을 허용했기 때문'이다.
만약 NULL을 허용하지 않도록 열을 정의하면 NULL을 삽입할 때 오류가 발생한다.
col_2에 NULL을 허용하지 않도록 설정하고 col_2에 NULl을 삽입해 오류를 발생시키는 쿼리
CREATE TABLE doit_notnull (
col_1 INT,
col_2 NVARCHAR(50) NOT NULL
)
GO
INSERT INTO doit_noutnull (col_1) VALUES (1);
'MSSQL > SQL 시작하기' 카테고리의 다른 글
14 DELETE 문으로 데이터 삭제하기 (0) | 2024.10.05 |
---|---|
13 UPDATE 문으로 데이터 수정하기 (0) | 2024.10.05 |
11 테이블 생성하고 삭제하기 (5) | 2024.10.01 |
10 USE 문으로 데이터베이스 선택 (0) | 2024.10.01 |
09 테이블 생성하고 삭제하기 (1) | 2024.10.01 |