코딩항해기

[DBMS/Oracle] 테이블 복사 생성하기 본문

DBMS/Oracle

[DBMS/Oracle] 테이블 복사 생성하기

miniBcake 2024. 7. 31. 11:49

 

 

 

[DBMS/Oracle] 테이블 쿼리문 (DDL) 기초

[요약]테이블 생성CREATE TABLE 테이블명(   컬럼명 자료형, 컬럼명 자료형, 컬럼명 자료형 );테이블 조회SELECT * FROM 테이블명;테이블 삭제DROP TABLE 테이블명;테이블 삭제(연결값을 삭제 후 삭제)DROP TA

minibcake.tistory.com

 

 

기존 테이블의 구조, 또는 구조와 데이터를 복사하여 새로운 테이블을 생성할 수 있다.

복사하는 종류와 범위에 따라 3가지로 분류할 수 있다.

  1. 기존 테이블의 열 구조와 데이터를 복사하여 새 테이블 생성
  2. 기존 테이블의 열 구조와 일부 데이터를 복사하여 새 테이블 생성
  3. 기존 테이블의 열 구조만 복사하여 새 테이블 생성

위 3가지의 경우를 차례로 정리해보겠다.

 

 

열 구조와 데이터를 복사하는 경우

CREATE TABLE 새 테이블 명 AS SELECT 복사할 컬럼명 나열 FROM 복사대상테이블;

 

 

열 구조와 일부 데이터를 복사하는 경우

CREATE TABLE 새 테이블 명 
AS SELECT 복사할 컬럼명 나열 FROM 복사대상테이블 WHERE 복사할 데이터 조건;

 

 

열 구조만 복사하는 경우

CREATE TABLE 새 테이블 명 
AS SELECT 복사할 컬럼명 나열 FROM 복사대상테이블 WHERE 1<>1;
--조건으로 어떤 데이터도 해당될 수 없는 조건을 작성한다.
--결과가 FALSE 100%인 조건문

 

 

복사 테이블을 만들 때 SELECT문 결과로 나온 값을 복사하여 만들어지는 것을 확인할 수 있다.

다시 말해 AS 뒤에 오는 SELECT문에 JOIN이나 서브쿼리등을 이용하여 작성한다면 두 개 이상의 테이블을 합친 복사 테이블을 생성하는 것도 가능하다.

 

+기존 테이블에 값 복사하기!

기존 테이블에 다른 기존 테이블 데이터를 복사해 넣을 때는 INSERT ... SELECT 구문을 사용하여 넣을 수 있다.컬럼명이 일치할 필요는 없지만, 자료형이 일치해야한다.

INSERT INTO 테이블(컬럼)
SELECT 컬럼
FROM 값을 가져올 테이블
WHERE 조건이 있는 경우

 

'DBMS > Oracle' 카테고리의 다른 글

[DBMS/Oracle] 집합 연산자  (0) 2024.08.03
[DBMS/Oracle] JOIN  (0) 2024.08.03
[DBMS/Oracle] 서브쿼리  (0) 2024.07.30
[DBMS/Oracle] 오라클 함수 (문자, 숫자, 날짜, 형변환 등)  (0) 2024.07.29
[DBMS/Oracle] WHERE절과 연산자  (0) 2024.07.28