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

จะเชื่อมฟิลด์ใน MySQL ได้อย่างไร?


ในการต่อฟิลด์ใน MySQL คุณสามารถใช้ GROUP_CONCAT() ร่วมกับ GROUP BY ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(30), StudentScore int ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.51 วินาที)

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

mysql> แทรกลงใน DemoTable( StudentName,StudentScore) values('Bob',80);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน DemoTable( StudentName,StudentScore) ค่า ('Bob',80);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงใน DemoTable (ชื่อนักเรียน, StudentScore) ค่า ('Chris', 90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable ( StudentName, StudentScore) values('Chris',70);Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงใน DemoTable( StudentName,StudentScore) ค่า('Bob',50);Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงใน DemoTable( StudentName,StudentScore) values('David',60);Query OK, 1 แถวได้รับผลกระทบ (0.23 วินาที)mysql> แทรกลงใน DemoTable( StudentName,StudentScore) ค่า ('Chris',99); Query OK, 1 แถวที่ได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (ชื่อนักเรียน, StudentScore) ('David',88); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentScore |+-----------+-------------+-------------+| 1 | บ๊อบ | 80 || 2 | บ๊อบ | 80 || 3 | คริส | 90 || 4 | คริส | 70 || 5 | บ๊อบ | 50 || 6 | เดวิด | 60 || 7 | คริส | 99 || 8 | เดวิด | 88 |+-----------+-------------+--------------+8 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเชื่อมเขตข้อมูลใน MySQL -

mysql> selectStudentName, group_concat(StudentScore separator ',') เป็น Scorefrom DemoTablegroup โดย StudentName;

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

<ก่อนหน้า>+-------------+----------+| ชื่อนักเรียน | คะแนน |+-------------+----------+| บ๊อบ | 80,80,50 || คริส | 90,70,99 || เดวิด | 60,88 |+-------------+----------+3 แถวในชุด (0.24 วินาที)