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

MySQL INSERT INTO SELECT ส่งผลให้มีการแทรกหลายแถวพร้อมกันจากตารางอื่น


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable(ชื่อ varchar(100)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

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

mysql> แทรกลงในค่า DemoTable1 ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1 ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> ลงในค่า DemoTable1 ('Adam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable1 ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)

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

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

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

<ก่อนหน้า>+---------+| ชื่อ |+-------+| คริส || โรเบิร์ต || อดัม || Bob |+-------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง

mysql> สร้างตาราง DemoTable2 (ข้อความ ListOfEmployee) ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อดำเนินการ INSERT INTO SELECT ส่งผลให้มีการแทรกหลายแถว -

mysql> แทรกลงใน DemoTable2(ListOfEmployee) เลือก group_concat(Name) จาก DemoTable1;Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)Records − 1 Duplicates − 0 Warnings − 0

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

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

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

<ก่อนหน้า>+-----------------------+| รายชื่อพนักงาน |+----------------------+| Chris,Robert,Adam,Bob |+----------------------- +1 แถวในชุด (0.00 วินาที)