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

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

วิธีที่ง่ายและรวดเร็วที่สุดในการคัดลอกข้อมูลระหว่างตารางคือใช้คำสั่ง INSERT INTO ... SELECT

ขั้นตอนการคัดลอกข้อมูล

1. สร้างตารางต้นทาง (FirstTable)

CREATE TABLE FirstTable (
    id INT,
    name VARCHAR(100)
);

2. เพิ่มข้อมูลตัวอย่าง

INSERT INTO FirstTable VALUES (1, 'john'), (2, 'Smith');

3. สร้างตารางปลายทาง (SecondTable)

CREATE TABLE SecondTable (
    id INT,
    name VARCHAR(100)
);

4. คัดลอกข้อมูลด้วยคำสั่งเดียว

INSERT INTO SecondTable (id, name)
SELECT id, name FROM FirstTable;

5. ตรวจสอบผลลัพธ์

SELECT * FROM SecondTable;
+------+-------+
| id   | name  |
+------+-------+
| 1    | john  |
| 2    | Smith |
+------+-------+

วิธีอื่นๆ ที่นิยมใช้

  • CREATE TABLE ... SELECT: สร้างตารางใหม่พร้อมคัดลอกโครงสร้างและข้อมูลในครั้งเดียว
    CREATE TABLE NewTable AS SELECT * FROM FirstTable;
  • mysqldump: สำหรับย้ายข้อมูลระหว่างเซิร์ฟเวอร์หรือสำรองข้อมูล

ข้อควรระวัง

  • คอลัมน์ใน SELECT ต้องตรงกับคอลัมน์ใน INSERT
  • Primary Key และ Index จะไม่ถูกคัดลอกไปด้วย (ต้องสร้างใหม่)
  • ข้อมูลขนาดใหญ่ควรพิจารณาแบทช์หรือใช้เครื่องมือเฉพาะทาง