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

คำสั่ง MySQL เดียว: SELECT จากตารางแรก INSERT เข้าตารางที่สอง

การคัดลอกข้อมูลระหว่างตารางด้วย INSERT ... SELECT

MySQL รองรับการ Insert ข้อมูลจากคำสั่ง Select โดยตรงในคำสั่งเดียวด้วยรูปแบบ INSERT INTO table2 (col) SELECT col FROM table1

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

mysql> CREATE TABLE DemoTable1 (Value INT);
Query OK, 0 rows affected (0.65 sec)

mysql> INSERT INTO DemoTable1 VALUES(67);
mysql> INSERT INTO DemoTable1 VALUES(46);

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

mysql> CREATE TABLE DemoTable2 (Score INT);
Query OK, 0 rows affected (0.70 sec)

คำสั่งคัดลอกข้อมูลจากตารางแรกไปตารางที่สอง

mysql> INSERT INTO DemoTable2(Score) SELECT Value FROM DemoTable1;
Query OK, 2 rows affected (0.13 sec)

ตรวจสอบข้อมูลในตารางที่สอง

mysql> SELECT * FROM DemoTable2;

ผลลัพธ์:

+-------+
| Score |
+-------+
| 67    |
| 46    |
+-------+
2 rows in set (0.00 sec)

คำอธิบาย

  • INSERT INTO DemoTable2(Score) : ระบุคอลัมน์ปลายทาง
  • SELECT Value FROM DemoTable1 : ดึงข้อมูลจากตารางต้นทาง
  • จำนวนและชนิดข้อมูลของคอลัมน์ใน SELECT ต้องตรงกับคอลัมน์ปลายทาง
  • วิธีนี้เร็วกว่าและสะดวกกว่าการดึงข้อมูลมาทำในโปรแกรมภายนอก