이 질문에는 이미 답변이 있습니다.
한 번에 삽입 할 데이터 세트가 여러 개 있습니다 (예 : 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");
내가 할 수 있을까?insert
하나의 4 행 모두SQL statement
?
SQL Server 2008에서는 단일 SQL INSERT 문을 사용하여 여러 행을 삽입 할 수 있습니다.
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
이것에 관해서는 MOC Course 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');
VALUES
절은 1000 "이다. 그것은INSERT
명령문은 1000 행으로 제한됩니다. - Anon
단일 테이블에 삽입하는 경우 다음과 같이 쿼리를 작성할 수 있습니다 (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);
insert into profiles (name, description) select first, 'Auto-generated' from users
다른 짐승 인 삽입 및 업데이트 성명을 혼동하는 것 같습니다. - Kzqaiinsert ... select
구문을 사용하면 필요한 모든 것을 얻을 수 있으며 원하는만큼 유연하게 사용할 수 있습니다.dev.mysql.com/doc/refman/5.5/en/insert.html - Kzqai