คุณสามารถย้ายแถวจากตารางหนึ่งไปยังอีกตารางหนึ่งโดยใช้คำสั่ง INSERT INTO SELECT
ไวยากรณ์มีดังนี้ −
แทรกลงใน yourDestinationTableName เลือก *จาก yourOriginalTable โดยที่เงื่อนไขบางอย่าง
เพื่อทำความเข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง −
mysql> สร้างตาราง StudentTable −> ( −> Id int, −> Name varchar(100) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.65 วินาที)
ตอนนี้ฉันจะสร้างตารางที่สอง แบบสอบถามมีดังต่อไปนี้ −
mysql> สร้างตาราง Employee −> ( −> EmployeeId int −> , −> EmployeeName varchar(100) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)
การแทรกเรคคอร์ดบางส่วนในตาราง Employee แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -
mysql> แทรกลงในค่า Employee (1,'Carol') แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่าพนักงาน (2, 'John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที )mysql> แทรกลงในค่าพนักงาน (3,'Johnson'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางพนักงานด้วยความช่วยเหลือของคำสั่ง SELECT แบบสอบถามมีดังนี้:
mysql> เลือก *จากพนักงาน
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------------+--------------+| รหัสพนักงาน | ชื่อพนักงาน |+--------------------+--------------+| 1 | แครอล || 2 | จอห์น || 3 | Johnson |+------------+-------------+3 แถวในชุด (0.00 วินาที)ใช้ไวยากรณ์ที่เราพูดถึงในตอนเริ่มต้นเพื่อย้ายแถวในตารางอื่น แบบสอบถามด้านล่างย้ายแถวจากตารางพนักงานไปยัง StudentTable -
mysql> แทรกลงใน StudentTable เลือก *จาก Employee โดยที่ EmployeeId =3 และ EmployeeName ='Johnson'; แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที) บันทึก:1 รายการซ้ำ:0 คำเตือน:0
ตอนนี้คุณสามารถตรวจสอบว่าแถวนั้นมีอยู่ในตารางที่สอง 'StudentTable' หรือไม่ แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือก *จาก StudentTable;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+---------+| รหัส | ชื่อ |+------+---------+| 3 | Johnson |+------+---------+1 แถวในชุด (0.00 วินาที)ดูตัวอย่างผลลัพธ์ด้านบน เราได้ย้ายแถวจากตารางหนึ่งไปยังอีกตารางหนึ่ง หากต้องการย้ายแถวทั้งหมด คุณเพียงแค่เอาเงื่อนไข "ที่ไหน" ออก แบบสอบถามมีดังต่อไปนี้ −
mysql> แทรกลงใน StudentTable เลือก *จากพนักงาน ตกลง สืบค้น 3 แถว (0.15 วินาที) บันทึก:3 รายการซ้ำ:0 คำเตือน:0
แบบสอบถามจะแสดงระเบียนที่ปรับปรุงทั้งหมดใน StudentTable -
mysql> เลือก *จาก StudentTable;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+------+---------+| รหัส | ชื่อ |+------+---------+| 1 | แครอล || 2 | จอห์น || 3 | Johnson |+------+---------+3 แถวในชุด (0.00 วินาที)