[SQL/Oracle] 테이블 복사하기
DataBase(SQL)/Oracle2017. 5. 16. 19:22
안녕하세요 스탭코딩 게시글 작성자 페이퍼클립입니다.
테이블 복사를 위한 쿼리를 소개합니다.
[STEP1 복사를 위한 생성하기]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | CREAT TABLE table_copy( col1 varchar2(20), col2 number, col3 date default sysdate ); INSERT INTO table_copy VALUES ('test1', 1, '20170505'); INSERT INTO table_copy VALUES ('test2', 5, '20140201'); INSERT INTO table_copy VALUES ('test3', 3, '20110808'); INSERT INTO table_copy VALUES ('test4', 2, '20170606'); | cs |
테이블 복사를 위해 임의로 table_copy라는 테이블을 생성하고 레코드를 삽입 합니다.
[STEP2 테이블 복사하기]
1 2 | CREATE TABLE table_copy2 AS SELECT * FROM table_copy; | cs |
CREATE TABLE 새로생성할테이블명 AS SELECT * FROM 기존테이블; 형대로 쿼리를 작성 합니다.
[STEP+ 테이블 구조(컬럼)만 복사하기]
1 2 | CREATE TABLE table_copy3 AS SELECT * FROM table_copy WHERE 1 = 2; | cs |
※ where절에 false 조건을 넣어줌으로 레코드를 가져오지 않고 컬럼만 복사합니다.
(마찬가지로 where절에 조건을 주어 특정 레코드만 복사 할 수 있습니다.
[STEP+ 기존 테이블에 데이터만 복사]
1 2 | INSERT INTO table_copy4 SELECT * FROM table_copy; | cs |
INSERT INTO 복사할테이블명 SELECT * FROM 복사할테이블명;