Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้างตารางใหม่โคลนโครงสร้างและข้อมูลจากตารางเดิมใน MySQL


2 ขั้นตอนสำคัญ

  1. โคลนโครงสร้าง: ใช้ CREATE TABLE ... LIKE
  2. คัดลอกข้อมูล: ใช้ INSERT INTO ... SELECT * FROM

ไวยากรณ์

-- 1. สร้างโครงสร้างเหมือนกัน
CREATE TABLE new_table LIKE old_table;

-- 2. คัดลอกข้อมูลทั้งหมด
INSERT INTO new_table SELECT * FROM old_table;

ตัวอย่างการใช้งาน

ตารางต้นฉบับ

CREATE TABLE WholeWordMatchDemo (Words VARCHAR(200));
INSERT INTO WholeWordMatchDemo VALUES
('My Name is John'), ('Carol'), ('My Name is Johnson');

ขั้นตอนที่ 1: สร้างตารางใหม่โคลนโครงสร้าง

CREATE TABLE NewTableDuplicate LIKE WholeWordMatchDemo;

ตรวจสอบโครงสร้าง

SHOW CREATE TABLE NewTableDuplicate;
CREATE TABLE `newtableduplicate` (
  `Words` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

ขั้นตอนที่ 2: คัดลอกข้อมูล

INSERT INTO NewTableDuplicate SELECT * FROM WholeWordMatchDemo;

ตรวจสอบข้อมูล

SELECT * FROM NewTableDuplicate;
+----------------------+
| Words                |
+----------------------+
| My Name is John      |
| Carol                |
| My Name is Johnson   |
+----------------------+

เปรียบเทียบกับตารางเดิม

SELECT * FROM WholeWordMatchDemo;
-- ผลลัพธ์เหมือนกันทุกประการ

สิ่งที่ LIKE คัดลอกได้ / ไม่ได้

คัดลอกได้ ไม่คัดลอกได้
Column definitions, Data types Data (ต้อง INSERT แยก)
Indexes (Primary, Unique, Normal) AUTO_INCREMENT value
Default values Triggers
Character set, Collation Foreign Keys (ในบาง Version)
Storage Engine Partitioning

ทางเลือกอื่น: CREATE TABLE new_table AS SELECT * FROM old_table (คัดลอกทั้งโครงสร้างและข้อมูล แต่ไม่คัดลอก Indexes, Constraints, AUTO_INCREMENT)