Latest web development tutorials

ตาราง MySQL คัดลอก

ถ้าเราต้องการสำเนาสมบูรณ์ของ MySQL ตารางข้อมูลรวมทั้งโครงสร้างตารางดัชนีค่าเริ่มต้น ฯลฯ ถ้าคุณจะใช้สร้างตาราง ... คำสั่ง SELECT, ไม่สามารถทำได้

บทนี้จะแสดงให้คุณวิธีการที่สมบูรณ์คัดลอก MySQL ตารางข้อมูลตามขั้นตอนต่อไปนี้:

  • ใช้แสดงคำสั่งสร้างตารางเพื่อให้ได้ข้อมูลในการสร้างตาราง (ตาราง CREATE) คำสั่งที่มีเดิมโครงสร้างตารางข้อมูลดัชนีและอื่น ๆ
  • โครงสร้างตารางข้อมูลการคัดลอกคำสั่งต่อไปที่จะแสดงคำสั่ง SQL ในการปรับเปลี่ยนชื่อตารางและรันคำสั่ง, คำสั่งดังกล่าวจะถูกจำลองอย่างเต็มที่
  • หากคุณต้องการคัดลอกเนื้อหาของตารางคุณสามารถใช้ INSERT INTO ... เลือกคำสั่งเพื่อให้บรรลุ

ตัวอย่าง

ลองตัวอย่างต่อไปนี้เพื่อคัดลอก w3big_tbl ตาราง

ขั้นตอนที่หนึ่ง:

รับโครงสร้างที่สมบูรณ์ของตารางข้อมูล

mysql> SHOW CREATE TABLE w3big_tbl \G;
*************************** 1. row ***************************
       Table: w3big_tbl
Create Table: CREATE TABLE `w3big_tbl` (
  `w3big_id` int(11) NOT NULL auto_increment,
  `w3big_title` varchar(100) NOT NULL default '',
  `w3big_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`w3big_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
) ENGINE=InnoDB 
1 row in set (0.00 sec)

ERROR:
No query specified

ขั้นตอนที่สอง:

แก้ไขคำสั่ง SQL ชื่อตารางข้อมูลและรันคำสั่ง

mysql> CREATE TABLE `clone_tbl` (
  -> `w3big_id` int(11) NOT NULL auto_increment,
  -> `w3big_title` varchar(100) NOT NULL default '',
  -> `w3big_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`w3big_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (1.80 sec)

ขั้นตอนที่สาม:

หลังจากการดำเนินการขั้นตอนที่สองคุณจะสร้างตารางโคลน clone_tbl ใหม่ในฐานข้อมูล หากคุณต้องการคัดลอกตารางข้อมูลที่คุณสามารถใช้ INSERT INTO ... เลือกคำสั่งเพื่อให้บรรลุ

mysql> INSERT INTO clone_tbl (w3big_id,
    ->                        w3big_title,
    ->                        w3big_author,
    ->                        submission_date)
    -> SELECT w3big_id,w3big_title,
    ->        w3big_author,submission_date
    -> FROM w3big_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

หลังจากดำเนินการตามขั้นตอนข้างต้นคุณจะเสร็จสิ้นการคัดลอกตารางรวมถึงโครงสร้างของตารางและตารางข้อมูล