[sql-server] 기존 테이블에서 테이블 (구조) 생성

다른 테이블과 구조가 동일해야하는 새 테이블을 만드는 방법

나는 시도했다

CREATE TABLE dom AS SELECT * FROM dom1 WHERE 1=2

하지만 작동하지 않는 오류가 발생했습니다.



답변

시험:

Select * Into <DestinationTableName> From <SourceTableName> Where 1 = 2

이것은 인덱스, 키 등을 복사하지 않습니다.

전체 구조 를 복사 하려면 테이블의 Create Script를 생성해야합니다. 해당 스크립트를 사용하여 동일한 구조로 새 테이블을 만들 수 있습니다. 그런 다음 필요한 경우 데이터를 새 테이블에 덤프 할 수도 있습니다.

Enterprise Manager를 사용하는 경우 테이블을 마우스 오른쪽 단추로 클릭하고 복사를 선택하여 스크립트 작성을 생성하십시오.


답변

이것은 테이블 구조를 복제하는 데 사용하는 것입니다 (열만 해당) …

SELECT TOP 0 *
INTO NewTable
FROM TableStructureIWishToClone


답변

구조 만 복사 (모든 열 복사)

Select Top 0 * into NewTable from OldTable

구조 만 복사 (일부 열 복사)

Select Top 0 Col1,Col2,Col3,Col4,Col5 into NewTable from OldTable

데이터로 구조 복사

Select * into NewTable from OldTable

이미 동일한 구조의 테이블이 있고 데이터 만 복사하려는 경우 다음을 사용하십시오.

Insert into NewTable Select * from OldTable


답변

Create table abc select * from def limit 0;

이것은 확실한 작업이 될 것입니다.


답변

MYSQL의 경우 :

당신이 사용할 수있는:

CREATE TABLE foo LIKE bar;

여기에 문서가 있습니다 .


답변

다음을 수행 할 수 있다는 점도 언급 할 가치가 있습니다.

복제 할 테이블을 마우스 오른쪽 버튼으로 클릭 > 스크립트 테이블 형식 > 생성 대상 > 새 쿼리 편집기 창

그런 다음 생성 된 스크립트에서 방금 마우스 오른쪽 버튼으로 클릭 한 테이블의 이름이 어디에 표시되는지, 새 테이블을 호출 할 이름으로 변경하고 Execute


답변

이것을 시도하십시오 .. 아래 하나는 기존 테이블의 전체 구조를 복사하지만 데이터는 복사하지 않습니다.

create table AT_QUOTE_CART as select * from QUOTE_CART where 0=1 ;

데이터를 복사하려면 아래 항목을 사용하십시오.

create table AT_QUOTE_CART as select * from QUOTE_CART ;