스탭코딩

DataBase(SQL)/Oracle +1

안녕하세요 스탭코딩 게시글 작성자 페이퍼클립입니다.


테이블 복사를 위한 쿼리를 소개합니다.


[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 복사할테이블명;