English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL 테이블 복사

이 튜토리얼에서는 기존 테이블의 복제를 만드는 방법을 배웁니다.

테이블克隆 또는 복제

때로는 원본 테이블에 영향을 미치지 않고 테스트나 특정 작업을 수행하기 위해 기존 테이블의 정확한 복사본이나克隆을 만들고 싶을 수 있습니다.

다음 장에서는 이 작업을 수행하는 방법을 몇 가지 간단한 단계로 설명합니다.

단계1빈 테이블 생성

먼저 다음과 같은 문장을 사용하여 원본 테이블 정의에 따라 빈 테이블을 생성합니다. 이는 원본 테이블에서 정의된 열 속성과 인덱스를 포함합니다:

CREATE TABLE new_table LIKE original_table;

단계2데이터를 테이블에 삽입

지금, 다음과 같은 문장을 사용하여 빈 테이블에 원본 테이블의 데이터를 입력하십시오:

INSERT INTO new_table SELECT * FROM original_table;

MySQL 명령행 도구를 사용하여 테이블을 복제해 보겠습니다.

우리를 고려해 주세요employees의 데이터베이스에 다음과 같은 레코드를 포함한 테이블이 있습니다:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       4 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

다음과 같은 SQL 문장을 실행해 주세요. 이 문장은 기존employees데이터베이스 테이블 정의: 빈 테이블 생성employees_clone

 employees_clone  employees;

지금, 다른 SQL 문장을 실행해 주세요. 이 문장은 employee 테이블에서 모든 레코드를 employees_clone 테이블에 삽입합니다. 이 문장을 실행한 후, employee_clone 테이블을 얻게 됩니다. 이 테이블은 employee 테이블의 정확한 복사본 또는 복제본입니다.

 employees_clone  *  employees;

간단한 복사

만약 다른 테이블에서 모든 열 속성과 인덱스를 고려하지 않고 테이블을 생성하고 싶다면, 간단한 한 줄 명령어를 사용할 수 있습니다:

CREATE TABLE new_table SELECT * FROM original_table;

다음 명령어가 생성됩니다employees테이블의 간단한 복사본.

 employees_dummy  *  employees;

ヒント:CREATE TABLE ... SELECT 문법을 사용하여 단순히 원본 테이블의 구조와 데이터를 포함한 모든 테이블의 간단한 복사본을 빠르게 생성할 수 있습니다。