English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
위의 단계를 수행하면, 테이블 구조와 테이블 데이터를 포함하여 테이블의 전체 내용이 완전히 복사됩니다.