MySQL 최신 매뉴얼 튜토...login
MySQL 최신 매뉴얼 튜토리얼
작가:php.cn  업데이트 시간:2022-04-15 14:04:12

MySQL 복제 테이블


MySQL 복사 테이블

테이블 구조, 인덱스, 기본값을 포함하여 MySQL 데이터 테이블을 완전히 복사해야 하는 경우 가치 기다려요. CREATE TABLE ... SELECT 명령만 사용하면 달성할 수 없습니다.

이 장에서는 MySQL 데이터 테이블을 완전히 복사하는 방법을 소개합니다.

  • SHOW CREATE TABLE 명령을 사용하세요. 생성된 데이터 테이블을 가져옵니다. (CREATE TABLE) 원본 데이터 테이블의 구조, 인덱스 등을 포함하는 명령문입니다.

  • 위 명령을 통해 다음 명령으로 표시된 SQL 문을 복사하고 데이터 테이블 이름을 수정한 후 SQL 문을 실행합니다. 데이터 테이블 구조가 완전히 복사됩니다.

  • 테이블의 내용을 복사하려면 INSERT INTO ... SELECT 문을 사용하면 됩니다.

예제

다음 예를 사용하여 php_tbl 테이블을 복사해 보세요.

1단계:

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

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

SQL 문의 데이터 테이블 이름을 수정하고 SQL 문을 실행합니다.

mysql> CREATE TABLE `clone_tbl` (
  -> `php_id` int(11) NOT NULL auto_increment,
  -> `php_title` varchar(100) NOT NULL default '',
  -> `php_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`php_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`php_author`)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (1.80 sec)
3단계:

두 번째 단계를 수행한 후 데이터베이스에 새로운 복제 테이블 clone_tbl을 생성합니다. 데이터 테이블의 데이터를 복사하려면 INSERT INTO... SELECT 문을 사용하면 됩니다.

mysql> INSERT INTO clone_tbl (php_id,
    ->                        php_title,
    ->                        php_author,
    ->                        submission_date)
    -> SELECT php_id,php_title,
    ->        php_author,submission_date
    -> FROM php_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

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

추천 관련 튜토리얼: MySQL 튜토리얼

PHP 중국어 웹사이트