Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 INSERT 문

SQL Server(Transact-SQL)의 INSERT 문은 테이블에 하나 이상의 레코드를 삽입하는 데 사용됩니다.

INSERT 명령 구문

레코드 삽입

가장 단순한 형태의 INSERT 명령 구문은 VALUES 키워드가 있는 레코드를 삽입합니다.

  INSERT INTO  bang 
(cot1, cot2, …)
VALUES
(bieuthuc1, bieuthuc2, …),
(bieuthuc1, bieuthuc2, …),
. ;

INSERT 명령의 전체 구문은 VALUES 키워드를 사용하여 레코드를 삽입합니다.

  INSERT INT O bang 
(cot1, cot2, …)
VALUES
( DEFAULT | NULL | bieuthuc1,
DEFAULT | NULL | bieuthuc2,

);

또는 DEFAULT VALUES 키워드를 사용하여 레코드를 삽입하는 구문

  INSERT INT O bang 
(cot1, cot2, …)
DEFAULT VALU ES;

여러 레코드 삽입

가장 간단한 형식에서 여러 레코드를 삽입하는 구문은 하위 선택에 의한 것입니다.

  INSERT I NTO 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

다른 테이블의 데이터를 삽입하기 위한 원본 테이블(원본 테이블)

어디에

옵션. 레코드가 삽입되도록 전송 조건이 충족됩니다.

참고

  1. INSERT 문을 사용하여 테이블에 레코드를 삽입할 때 NOT NULL 열에 대한 값을 제공해야 합니다.
  2. 열이 NULL 값을 허용하는 경우 INSERT 문에서 열을 제거할 수 있습니다.

예:VALUES 키워드 사용

  INSERT INT O nhanvien 
(nhanvien_id, ten, ho)
VALUE
(10, 'Anderson', 'S arah');

이 INSERT 문은 1개의 레코드가 테이블에 삽입되도록 합니다. 이 레코드의 nhanvien_id는 10이어야 하며 Anderson이고 이름은 Sarah입니다.

이 구문은 한 번에 둘 이상의 레코드를 삽입하는 데 사용할 수 있습니다. 예:

  INSERT INTO anvien 
(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 INTO anvien 
(nhanvien_id, ho, ten)
VALUES
(10, 'Anderson', 'Sa rah');
  INSERT INTO anvien 
(nhanvien_id, ho, ten)
VALUES
(11, 'Johnson', 'Dal e');

예:DEFAULT VALUES 키워드 사용

  INSERT IN TO nhanvien 
(nhanvien_id, ho, ten)
DEFAULT VA LUES;

이 INSERT 문은 레코드를 테이블에 삽입합니다. 직원 ID, 가족 및 이름 정보 필드에 대해 기본 값으로 새 레코드가 생성됩니다.

예:SELECT 명령 사용

아래와 같이 SELECT 문으로 더 복잡한 INSERT 문을 생성할 수 있습니다.

  INSERT INTO da nhba 
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id <= 100;

INSERT 명령에 SELECT 문을 배치하면 더 많은 삽입을 더 빠르게 수행할 수 있습니다.

이 유형의 삽입을 사용하면 삽입할 행 수를 확인하고 삽입하기 전에 SELECT 명령을 실행하여 삽입할 행 수를 결정할 수 있습니다.

  SELECT c ount (*) 
FROM nhanvien
WHERE nha nvien_id <= 100;