etc./StackOverFlow

단일 SQL 쿼리에 여러 행을 삽입하시겠습니까? [복제하다]

청렴결백한 만능 재주꾼 2021. 12. 28. 01:51
반응형

질문자 :rits


한 번에 삽입할 여러 데이터 세트(예: 4행)가 있습니다. Person , IdOffice 세 가지 열이 있습니다.

 INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office"); INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office"); INSERT INTO MyTable VALUES ("Billy", 125, "London Office"); INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");

단일 SQL 문에 4개의 행을 모두 삽입할 수 있습니까?



SQL Server 2008에서는 단일 SQL INSERT 문을 사용하여 여러 행을 삽입할 수 있습니다.

 INSERT INTO MyTable ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 )

이에 대한 참조는 MOC 과정 2778A - SQL Server 2008에서 SQL 쿼리 작성을 참조하십시오.

예를 들어:

 INSERT INTO MyTable ( Column1, Column2, Column3 ) VALUES ('John', 123, 'Lloyds Office'), ('Jane', 124, 'Lloyds Office'), ('Billy', 125, 'London Office'), ('Miranda', 126, 'Bristol Office');

BinaryMisfit

단일 테이블에 삽입하는 경우 다음과 같이 쿼리를 작성할 수 있습니다(MySQL에서만 가능).

 INSERT INTO table1 (First, Last) VALUES ('Fred', 'Smith'), ('John', 'Smith'), ('Michael', 'Smith'), ('Robert', 'Smith');

too much php

참고: 이 답변은 SQL Server 2005에 대한 것입니다. SQL Server 2008 이상에는 다른 답변에서 볼 수 있듯이 훨씬 더 나은 방법이 있습니다.

SELECT UNION ALL과 함께 INSERT를 사용할 수 있습니다.

 INSERT INTO MyTable (FirstCol, SecondCol) SELECT 'First' ,1 UNION ALL SELECT 'Second' ,2 UNION ALL SELECT 'Third' ,3 ...

작은 데이터 세트에만 해당되며 4개의 레코드에 적합합니다.


DavGarcia

VALUES 구문을 사용하는 INSERT 문은 여러 행을 삽입할 수 있습니다. 이렇게 하려면 각각 괄호로 묶고 쉼표로 구분된 여러 열 값 목록을 포함합니다.

예시:

 INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);



출처 : http:www.stackoverflow.com/questions/452859/inserting-multiple-rows-in-a-single-sql-query

반응형