각 DB 별 테이블 복사 쿼리 구문 MS-SQL

2008/07/07 20:01

복사 http://blog.naver.com/anssisung/80053693335

각 DB 별 테이블 복사 쿼리 구문

 

 MS SQL

 

 SELECT * INTO [생성될 테이블 명] FROM [원본 테이블 명] [WHERE (옵션)];

 

 * 옵션 :  '1' = '2'; (데이터 없이 테이블 구조만 복사)

              '1' = '1'; (데이터까지 복사)

 

  EX) SELECT * INTO copy_table FROM original_table WHERE '1' = '1';  // (데이터까지 모두 복사)

 

 

 MY SQL

 

 CREATE TABLE [새 테이블명] AS SELCET * FROM [원본 테이블명];

 
 EX) CREATE TABLE copy_table AS SELCET * FROM original_table;
 

 

 

 ORACLE 8 이상

 

 COPY FROM [복사할유저명/암호@SID] CREATE [테이블] USING [원본테이블질의];

 

 EX) COPY FROM username/password@sid CREATE copy_table USING SELECT * FROM original_table;

 

 * 주의 : COPY 명령어는 ORACLE 8 이상 버젼에서 지원됩니다. 또한 SQL*Net이 설치되어 있어야 합니다.

 

 

 

 ORACLE

 

 CREATE TABLE [새 테이블명] AS SELECT  * FORM [원본 테이블명];

 

 EX) CREATE TABLE copy_table  AS SELECT  * FORM original_table;

 

 

 

MySQL

 

 

MySQL 테이블 복사하기 


필드의 타입과, 필드의 숫자가 동일한 두 테이블간의 데이터를 복사하는 쿼리를 적어 놓는다. 

다른 두 데이터베이스간 테이블 복사하는 방법도 함께 적어 놓자. 


  복사할 테이블이 존재하지 않을경우

테이블을 생성후, 데이터를 복사

CREATE TABLE [대상 테이블명] SELECT * FROM [원본 테이블명] 



  복사할 테이블이 존재하는 경우 

기존의 데이터를 바로 복사 

INSERT INTO [대상 테이블명] SELECT * FROM [원본 테이블명]  



  다른 데이터 베이스 간의 테이블 값 복사 

mysql> INSERT INTO [대상 데이터베이스명].[대상 테이블명] 

        -> SELECT * FROM [원본 데이터베이스명].[원본테이블명] 


 



필드의 타입과 숫자가 다르면 당연히 복사가 안된다. ㅎ



  중복 데이터에 대한 에러를 무시하는 방법 

 

대상 필드가 기본키로 지정되어 있는데 중복 레코드로 인하여 에러를 발생시 다음과 같이 처리할 수 있다. 

mysql> INSERT ignore INTO .....

+ Recent posts