한 번에 삽입할 데이터 집합이 여러 개 있습니다(예: 4행). 내 테이블에는 세 개의 열이 있습니다: 사람,
아이디,
오피스`입니다.
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');
단일 테이블에 삽입하는 경우 다음과 같이 쿼리를 작성할 수 있습니다(MySQL에서만 가능):
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');
참고: 이 답변은 SQL Server 2005용입니다. SQL Server 2008 이상의 경우 다른 답변에서 볼 수 있듯이 훨씬 더 나은 방법이 있습니다.
SELECT UNION ALL]1을 사용하여 삽입할 수 있습니다:
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
하지만 작은 데이터 집합에만 해당되며, 4개의 레코드에는 문제가 없을 것입니다.