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

วิธี SELECT ข้อมูลจากตารางหนึ่งและ INSERT เข้าตารางอื่นใน MySQL

ใช้คำสั่ง INSERT INTO ... SELECT เพื่อคัดลอกข้อมูลระหว่างตาราง

สร้างตารางแรกและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable1 (
    -> StudentId INT,
    -> StudentName VARCHAR(20)
    -> );
mysql> INSERT INTO DemoTable1 VALUES(10, 'John');
mysql> INSERT INTO DemoTable1 VALUES(11, 'Chris');

สร้างตารางที่สอง

mysql> CREATE TABLE DemoTable2 (
    -> CustomerId INT,
    -> CustomerName VARCHAR(100)
    -> );

คัดลอกข้อมูลเฉพาะ StudentId = 11

mysql> INSERT INTO DemoTable2(CustomerId, CustomerName)
    -> SELECT StudentId, StudentName FROM DemoTable1 WHERE StudentId = 11;

ตรวจสอบตารางที่สอง

mysql> SELECT * FROM DemoTable2;

ผลลัพธ์:

+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| 11         | Chris        |
+------------+--------------+

คำอธิบาย: รูปแบบคือ INSERT INTO target_table(col1, col2) SELECT col1, col2 FROM source_table WHERE condition สามารถใส่เงื่อนไข WHERE ได้เหมือน SELECT ปกติ