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

แบบสอบถาม MySQL เพื่อคัดลอกบันทึกจากตารางหนึ่งไปยังอีกตารางหนึ่งด้วยคอลัมน์ที่แตกต่างกัน


สำหรับสิ่งนี้ คุณสามารถใช้คำสั่ง INSERT INTO SELECT ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1900 ( ClientId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20), ClientAge int default 29 ) auto_increment=1000;Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1900(ClientName,ClientAge) ('Chris',45);Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1900(ClientName,ClientAge) ('David',29);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1900(ClientName,ClientAge) ('Mike',37); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1900 (ClientName) ( 'แซม');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1900;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------+-----------+-----------+| รหัสลูกค้า | ชื่อลูกค้า | อายุลูกค้า |+----------+-----------+-----------+| 1000 | คริส | 45 || 1001 | เดวิด | 29 || 1002 | ไมค์ | 37 || 1003 | แซม | 29 |+----------+-----------+-----------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อสร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable1901 ( EmployeeId int, EmployeeName varchar(20), EmployeeAge int ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

นี่คือแบบสอบถามเพื่อคัดลอกบันทึกจากตารางหนึ่งไปยังอีกตารางที่มีคอลัมน์ต่างกัน -

mysql> แทรกลงใน DemoTable1901(EmployeeId,EmployeeName,EmployeeAge) เลือก ClientId,ClientName, ClientAge จาก DemoTable1900; Query OK, 4 แถวได้รับผลกระทบ (0.00 วินาที) บันทึก:4 รายการซ้ำ:0 คำเตือน:0

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1901;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+-----------+| รหัสพนักงาน | ชื่อพนักงาน | อายุพนักงาน |+------------+--------------+-----------+| 1000 | คริส | 45 || 1001 | เดวิด | 29 || 1002 | ไมค์ | 37 || 1003 | แซม | 29 |+------------+--------------+-------------+4 แถวในชุด ( 0.00 วินาที)