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

MySQL 복사 테이블

MySQL 데이터 테이블의 구조, 인덱스, 기본 값 등을 완전히 복제해야 한다면 만약 단순히 사용하면CREATE TABLE ... SELECT 명령어는 구현할 수 없습니다.

이 장은 MySQL 데이터 테이블을 완전히 복제하는 방법을 소개합니다. 다음과 같은 단계로 진행합니다:

  • 사용 SHOW CREATE TABLE 명령어로 데이터 테이블을 생성하는 명령어를 가져옵니다(CREATE TABLE) 문장을 통해 원본 데이터 테이블의 구조와 인덱스 등이 포함되어 있습니다。

  • 다음 명령어로 표시된 SQL 문을 복제하고 데이터 테이블 이름을 변경하여 SQL 문을 실행합니다,위 명령어 전체 데이터 테이블 구조를 복제합니다。

  • 테이블의 내용을 복제하려면 다음과 같은 예제를 사용할 수 있습니다 INSERT INTO ... SELECT 문장을 사용하여 구현합니다.

온라인 예제

다음 예제를 시도하여 테이블 w를 복제합니다3codebox_tbl

步骤一:

데이터 테이블의 전체 구조를 가져옵니다。

mysql> SHOW CREATE TABLE w3codebox_tbl \G;
*************************** 1. row ***************************
       Table: w3codebox_tbl
Create Table: CREATE TABLE `w3codebox_tbl` (
  `w3codebox_id` int(11) NOT NULL auto_increment,
  `w3codebox_title` varchar(100) NOT NULL default '',
  `w3codebox_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`w3codebox_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`w3codebox_author`)
) ENGINE=InnoDB 
1 row in set (0.00 sec)
ERROR:
No query specified

步骤二:

수정된 SQL 문의 데이터 테이블 이름을 변경하고 SQL 문을 실행합니다。

mysql> CREATE TABLE `clone_tbl` (
  -> `w3codebox_id` int(11) NOT NULL auto_increment,
  -> `w3codebox_title` varchar(100) NOT NULL default '',
  -> `w3codebox_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`w3codebox_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`w3codebox_author`)
-> ) ENGINE=InnoDB;
쿼리 OK, 0 rows 영향받음 (1.80 sec)

단계 3:

두 번째 단계를 완료하면, 데이터베이스에서 새로운克隆 테이블 clone_tbl이 생성됩니다. 데이터 테이블의 데이터를 복사하려면 사용할 수 있습니다 INSERT INTO... SELECT 문장을 사용하여 구현합니다.

mysql> INSERT INTO clone_tbl (w3> codebox_id,
    ->         w3> codebox_title,
    ->         w3> codebox_author,
    ->         submission_date)
    -> SELECT w3> codebox_id,w3> codebox_title,
    ->         w3> codebox_author,submission_date
    -> FROM w3codebox_tbl;
쿼리 OK, 3 rows 영향받음 (0.07 sec)
레코드: 3  중복: 0     경고: 0

위의 단계를 수행하면, 테이블 구조와 테이블 데이터를 포함하여 테이블의 전체 내용이 완전히 복사됩니다.