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

คัดลอกข้อมูลจากคอลัมน์หนึ่งไปยังอีกคอลัมน์หนึ่ง (ตารางต่างฐานข้อมูลเดียวกัน) ใน MySQL

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

ใน MySQL สามารถคัดลอกข้อมูลจากคอลัมน์ของตารางหนึ่งไปยังคอลัมน์ของอีกตารางหนึ่ง (ในฐานข้อมูลเดียวกัน) ได้โดยใช้คำสั่ง INSERT INTO SELECT ซึ่งเป็นวิธีที่สะดวกและมีประสิทธิภาพ

ตัวอย่างการใช้งาน

ขั้นแรก ให้สร้างตารางต้นทาง DemoTable1 และเพิ่มข้อมูลตัวอย่าง:

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

mysql> INSERT INTO DemoTable1 VALUES (98), (81), (76), (88);
Query OK, 4 rows affected (0.15 sec)

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

mysql> SELECT * FROM DemoTable1;
+-------------+
| PlayerScore |
+-------------+
| 98          |
| 81          |
| 76          |
| 88          |
+-------------+
4 rows in set (0.00 sec)

ต่อไป สร้างตารางปลายทาง DemoTable2:

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

คัดลอกข้อมูลจาก PlayerScore ไปยัง Marks:

mysql> INSERT INTO DemoTable2 (Marks) SELECT PlayerScore FROM DemoTable1;
Query OK, 4 rows affected (0.19 sec)
Records: 4  Duplicates: 0  Warnings: 0

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

mysql> SELECT * FROM DemoTable2;
+-------+
| Marks |
+-------+
| 98    |
| 81    |
| 76    |
| 88    |
+-------+
4 rows in set (0.00 sec)

จุดสำคัญ

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