SQL Server(Transact-SQL)의 INSERT 문은 테이블에 하나 이상의 레코드를 삽입하는 데 사용됩니다.
INSERT 명령 구문
레코드 삽입
가장 단순한 형태의 INSERT 명령 구문은 VALUES 키워드가 있는 레코드를 삽입합니다.
INSERT INTObang
(cot1, cot2, …)
VALUES
(bieuthuc1, bieuthuc2, …),
(bieuthuc1, bieuthuc2, …),
. ;
INSERT 명령의 전체 구문은 VALUES 키워드를 사용하여 레코드를 삽입합니다.
INSERT INTO bang
(cot1, cot2, …)
VALUES
( DEFAULT | NULL | bieuthuc1,
DEFAULT | NULL | bieuthuc2,
…
);
또는 DEFAULT VALUES 키워드를 사용하여 레코드를 삽입하는 구문
INSERT INTO bang
(cot1, cot2, …)
DEFAULT VALU
ES;
여러 레코드 삽입
가장 간단한 형식에서 여러 레코드를 삽입하는 구문은 하위 선택에 의한 것입니다.
INSERT INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieuk
ien];
하위 선택으로 여러 책상을 삽입하기 위한 전체 구문
INSERT [TOP (tri_dau) [PERCENT] ]
INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];
변수 이름 또는 변수 값
상태
레코드를 삽입할 테이블
cot1, cot2
값을 삽입할 테이블의 열
bieuthuc1, bieuthuc2
테이블의 열에 지정할 값입니다. cot1에는 bieuthuc1 값이 할당되고 cot2에는 bieuthuc2 값이 할당됩니다.
TOP(giatri_dau)
옵션. 구체적으로 말하면 giatri_dau를 기반으로 하는 행의 첫 번째 값을 삽입합니다. 예를 들어 TOP(10)은 결과 집합의 처음 10개 행을 삽입합니다.
PERCENT
옵션. 지정된 경우 첫 번째 행은 결과 집합의 giatri_dau 백분율을 기반으로 합니다. 예를 들어 TOP (10) PERCENT는 결과 집합에 첫 번째 값의 10%를 삽입합니다.
bang_nguon
다른 테이블의 데이터를 삽입하기 위한 원본 테이블(원본 테이블)
어디에
옵션. 레코드가 삽입되도록 전송 조건이 충족됩니다.
참고
- INSERT 문을 사용하여 테이블에 레코드를 삽입할 때 NOT NULL 열에 대한 값을 제공해야 합니다.
- 열이 NULL 값을 허용하는 경우 INSERT 문에서 열을 제거할 수 있습니다.
예:VALUES 키워드 사용
INSERT INTO nhanvien
(nhanvien_id, ten, ho)
VALUE
(10, 'Anderson', 'S
arah');
이 INSERT 문은 1개의 레코드가 테이블에 삽입되도록 합니다. 이 레코드의 nhanvien_id는 10이어야 하며 Anderson이고 이름은 Sarah입니다.
이 구문은 한 번에 둘 이상의 레코드를 삽입하는 데 사용할 수 있습니다. 예:
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(19, 'Anderson', 'Sarah'),
(11, 'Johnson', 'Dale')
;
예를 들어 위의 INSERT 문은 VALUES 키워드로 2개 이상의 레코드를 삽입할 수 있음을 보여줍니다. 이 예에서는 2개의 레코드가 테이블에 삽입됩니다. 첫 번째 레코드는 10분이며 Anderson이고 이름은 Sarah입니다. 두 번째 레코드에는 nhanvien_id가 11이고 Johnson이고 이름은 Dale입니다.
위의 명령은 아래의 INSERT 문과 동일합니다.
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(10, 'Anderson', 'Sa
rah');
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(11, 'Johnson', 'Dal
e');
예:DEFAULT VALUES 키워드 사용
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
DEFAULT VA
LUES;
이 INSERT 문은 레코드를 테이블에 삽입합니다. 직원 ID, 가족 및 이름 정보 필드에 대해 기본 값으로 새 레코드가 생성됩니다.
예:SELECT 명령 사용
아래와 같이 SELECT 문으로 더 복잡한 INSERT 문을 생성할 수 있습니다.
INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id
<= 100;
INSERT 명령에 SELECT 문을 배치하면 더 많은 삽입을 더 빠르게 수행할 수 있습니다.
이 유형의 삽입을 사용하면 삽입할 행 수를 확인하고 삽입하기 전에 SELECT 명령을 실행하여 삽입할 행 수를 결정할 수 있습니다.피>
SELECT count (*)
FROM nhanvien
WHERE nha
nvien_id <= 100;