다른 테이블로 데이터 복사


161

SQL Server에서 동일한 스키마를 사용하여 한 테이블의 데이터를 다른 테이블로 복사 / 추가하는 방법은 무엇입니까?

편집하다:

검색어가 있다고 가정 해 보겠습니다.

select * 
into table1 
from table2 
where 1=1 

이는 생성 table1에서와 동일한 스키마뿐만 아니라 데이터 table2.

전체 데이터를 이미 존재하는 테이블에만 복사하는 이와 같은 짧은 쿼리가 있습니까?


1
완전한 정보를 위해,이 명령은 테이블의 인덱스와 트리거를 복사하지 마십시오! 복사 색인 및 트리거 스크립트는 다음 게시물을 참조하십시오. stackoverflow.com/questions/7582852/…
HausO

이것을 해결하는 방법? INSERT INTO newTable (col1, col2, col3,col4) values ((SELECT column1, column2, column3 FROM oldTable where condition),'string');

답변:


322

두 테이블이 실제로 동일한 스키마 인 경우 :

INSERT INTO newTable
SELECT * FROM oldTable

그렇지 않으면 열 이름을 지정해야합니다 ( newTable모든 열의 값을 지정하고 newTable의 스키마 와 동일한 순서로 열을 선택하는 경우 열 목록 은 선택 사항입니다 ).

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable

1
blank data일부 열에 입력하려면 어떻게해야합니까 ?
hud

3
@coder는 선택 절일 뿐이므로 명시 적 NULLs, 문자열 상수, 표현식 또는 하위 쿼리를 포함하여 원하는 모든 항목을 넣을 수 있습니다 .
lc.

이없는 작업을 수행하는 이유INSERT INTO newTable (col1, col2, col3,col4) values ((SELECT column1, column2, column3 FROM oldTable where condition),'string');

1
@AbdullahNurum 스칼라 쿼리가 둘 이상의 열을 선택하기 때문입니다. stackoverflow.com/questions/4141370/…stackoverflow.com/questions/6254913/…
lc를

1
두 테이블이 유사한 스키마를 나타내지 만 YES에 'Identity Specification'이있는 열이있는 경우 SQL 문은 Identity Specification이있는 열을 제외한 모든 열을 열거해야합니다.
Gabriel Marius Popescu

20

다음은 적절한 방법입니다.

INSERT INTO destinationTable
SELECT * FROM sourceTable

17

새 테이블이 존재하지 않고 모든 것을 사용하여 이전 테이블의 복사본을 만들고 싶다면 다음과 같은 간단한 방법이 SQL Server에서 작동합니다.

SELECT * INTO NewTable FROM OldTable




4
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;

동일한 열 이름은 필수가 아닙니다.


3

조건과 함께 선택한 열 삽입

INSERT INTO where_to_insert (col_1,col_2) SELECT col1, col2 FROM from_table WHERE condition;

동일한 열 이름을 사용하여 한 테이블에서 다른 테이블로 모든 데이터를 복사합니다.

INSERT INTO where_to_insert 
SELECT * FROM from_table WHERE condition;

0
CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;

첫 번째 쿼리는 table1to 에서 구조 를 table2만들고 두 번째 쿼리는 데이터를 table1totable2

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.