EtC
테이블 및 데이터 복제
freecatz
2022. 10. 27. 11:35
1. ORACLE
-- 테이블 이름 변경
ALTER TABLE [원본 테이블 이름] RENAME TO [변경할 테이블 이름];
SQL) ALTER TABLE ORI_TABLE RENAME TO BACKUP_TALBE;
-- 테이블 구조만 복사(설정 제외)
CREATE TABLE [생성할 테이블 이름] AS SELECT * FROM [원본 테이블 이름] WHERE 1 = 2;
SQL) CREATE TABLE BACKUP_TALBE AS SELECT * FROM ORI_TABLE WHERE 1 = 2;
-- 테이블 구조만 복사(설정 포함) ===> 안됨
CREATE TABLE [생성할 테이블 이름] LIKE [원본 테이블 이름];
SQL) CREATE TABLE BACKUP_TALBE LIKE ORI_TABLE;
-- 테이블 생성 및 전체 또는 일부 데이터 복사
CREATE TABLE [생성할 테이블 이름] AS SELECT * FROM [원본 테이블 이름] WHERE 1 = 1;
SQL) CREATE TABLE BACKUP_TALBE AS SELECT * FROM ORI_TABLE WHERE 1 = 1;
* 필요에 따라 WHERE 절에 '1 = 1' 을 제거 하고 조건을 추가 한다.
SQL) CREATE TABLE BACKUP_TALBE AS SELECT * FROM ORI_TABLE WHERE EMAIL IS NOT NULL AND AUTH = 'U';
2. MySQL
-- 테이블 이름 변경
RENAME TABLE [원본 테이블 이름] TO [변경할 테이블 이름];
SQL) RENAME TABLE ORI_TABLE TO BACKUP_TABLE;
ALTER TABLE [원본 테이블 이름] RENAME [변경할 테이블 이름];
SQL) ALTER TABLE ORI_TABLE RENAME BACKUP_TABLE;
* 다건의 테이블 이름 변경
RENAME TABLE [원본 테이블 이름] TO [변경할 테이블 이름]
, [원본 테이블 이름1] TO [변경할 테이블 이름1]
, [원본 테이블 이름2] TO [변경할 테이블 이름2];
SQL) RENAME TABLE ORI_TABLE TO BACKUP_TABLE
, ORI_TABLE1 TO BACKUP_TABLE1
, ORI_TABLE2 TO BACKUP_TABLE2;
-- 다른 데이터베이스로 테이블 이동
RENAME TABLE [현재DB].[이동 대상 테이블 이름] TO [이동할DB].[변경할 테이블 이름];
SQL) RENAME TABLE ORI_DB.ORI_TABLE TO BACKUP_DB.BACKUP_TABLE;
-- 테이블 구조만 복사(설정 제외)
-- 테이블 구조만 복사(설정 포함)
-- 테이블 생성 및 전체 또는 일부 데이터 복사
* 필요에 따라 WHERE 절에 '1 = 1' 을 제거 하고 조건을 추가 한다.