코딩항해기
[DBMS/Oracle] 테이블 복사 생성하기 본문
기존 테이블의 구조, 또는 구조와 데이터를 복사하여 새로운 테이블을 생성할 수 있다.
복사하는 종류와 범위에 따라 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 |