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

แสดงบันทึกตามคู่คีย์-ค่าใน MySQL


สำหรับสิ่งนี้ ให้ใช้ JSON_OBJECTAGG() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( Id int, FirstName varchar(100), Age int);Query OK, 0 แถวได้รับผลกระทบ (0.56 วินาที)

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

mysql> แทรกลงในค่า DemoTable(10,'John',23);แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable(20,'Carol',21);แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (10, 'Sam', 24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable (20, 'Chris', 20); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

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

<ก่อนหน้า>+------+-----------+------+| รหัส | ชื่อจริง | อายุ |+------+-----------+------+| 10 | จอห์น | 23 || 20 | แครอล | 21 || 10 | แซม | 24 || 20 | คริส | 20 |+------+-----------+------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามโดยใช้ MySQL JSON_OBJECT เพื่อแสดงบันทึกในคู่คีย์-ค่า -

mysql> เลือก Id,JSON_OBJECTAGG(FirstName,Age) จาก DemoTable GROUP BY Id;

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

<ก่อนหน้า>+------+------------------------------+| รหัส | JSON_OBJECTAGG(ชื่อ,อายุ) |+------+-------------------------------------+| 10 | {"แซม":24, "จอห์น":23} || 20 | {"แครอล":21, "คริส":20} |+------+ ---------------------------- ---+2 แถวในชุด (0.07 วินาที)