source

단일 SQL 쿼리에 여러 행을 삽입하시겠습니까?

ittop 2023. 4. 7. 21:55
반응형

단일 SQL 쿼리에 여러 행을 삽입하시겠습니까?

한 번에 여러 데이터 세트를 삽입해야 합니다(예: 4행).테이블에는 세 개의 열이 있습니다.Person,Id그리고.Office.

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 Query 작성 방법을 참조하십시오.

예를 들어 다음과 같습니다.

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

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

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

메모: 이 답변은 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개의 레코드로 충분합니다.

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

예:

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

언급URL : https://stackoverflow.com/questions/452859/inserting-multiple-rows-in-a-single-sql-query

반응형