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

การนำข้อมูลจากตารางหนึ่งไปใส่อีกตารางใน MySQL

ภาพรวม

ใช้คำสั่ง INSERT INTO ... SELECT ... เพื่อคัดลอกข้อมูลจากตารางต้นทางไปยังตารางปลายทางได้ในคำสั่งเดียว

ขั้นตอน

  1. สร้าง DemoTable1 มี Id INT, FirstName VARCHAR(20)
  2. แทรกข้อมูล 2 แถว
  3. สร้าง DemoTable2 มี EmployeeId INT, EmployeeName VARCHAR(20)
  4. คัดลอกข้อมูลด้วย INSERT INTO DemoTable2 (EmployeeId, EmployeeName) SELECT Id, FirstName FROM DemoTable1;

โค้ด SQL

CREATE TABLE DemoTable1 (
    Id INT,
    FirstName VARCHAR(20)
);

INSERT INTO DemoTable1 VALUES (101, 'Adam');
INSERT INTO DemoTable1 VALUES (102, 'John');

SELECT * FROM DemoTable1;

CREATE TABLE DemoTable2 (
    EmployeeId INT,
    EmployeeName VARCHAR(20)
);

INSERT INTO DemoTable2 (EmployeeId, EmployeeName)
SELECT Id, FirstName FROM DemoTable1;

SELECT * FROM DemoTable2;

ผลลัพธ์

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 101  | Adam      |
| 102  | John      |
+------+-----------+

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 101        | Adam         |
| 102        | John         |
+------------+--------------+

สรุป

  • คอลัมน์ใน SELECT ต้องตรงลำดับและชนิดข้อมูลกับคอลัมน์ปลายทาง
  • สามารถเพิ่ม WHERE กรองข้อมูลได้
  • หากตารางปลายทางมี AUTO_INCREMENT ให้ละคอลัมน์นั้นใน INSERT