การคัดลอกข้อมูลจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลหนึ่ง
ใน MySQL คุณสามารถย้ายหรือคัดลอกข้อมูลจากตารางในฐานข้อมูล (Schema) หนึ่งไปยังตารางในฐานข้อมูลอีกแห่งได้โดยตรงด้วยคำสั่ง INSERT ... SELECT แบบข้ามฐานข้อมูล
ไวยากรณ์
INSERT INTO target_database.target_table
SELECT * FROM source_database.source_table;
ตัวอย่างขั้นตอนการทำงาน
1. สร้างตารางต้นทางในฐานข้อมูล web
USE web;
CREATE TABLE DemoTable2020 (
Id INT,
Name VARCHAR(20)
);
INSERT INTO DemoTable2020 VALUES
(101, 'Chris'),
(102, 'David'),
(103, 'Mike');
2. สร้างตารางปลายทางในฐานข้อมูล test
USE test;
CREATE TABLE DemoTable2021 (
StudentId INT,
StudentName VARCHAR(20)
);
3. คัดลอกข้อมูลข้ามฐานข้อมูล
INSERT INTO test.DemoTable2021
SELECT * FROM web.DemoTable2020;
ผลลัพธ์
| StudentId | StudentName |
|---|---|
| 101 | Chris |
| 102 | David |
| 103 | Mike |
ข้อควรระวัง: โครงสร้างตารางทั้งสองต้องตรงกัน (จำนวนคอลัมน์และประเภทข้อมูล) มิฉะนั้นจะต้องระบุชื่อคอลัมน์อย่างชัดเจน