การสร้างตารางด้วยชนิดข้อมูล JSON
MySQL 5.7+ รองรับชนิดข้อมูล JSON แบบเนทีฟ:
mysql> CREATE TABLE DemoTable1832 (
ListOfNames JSON
);
เพิ่มข้อมูล JSON
mysql> INSERT INTO DemoTable1832(ListOfNames) VALUES('["Sam", "Mike", "Carol"]');
mysql> INSERT INTO DemoTable1832(ListOfNames) VALUES('["David", "Bob"]');
mysql> INSERT INTO DemoTable1832(ListOfNames) VALUES('["Adam", "John", "Sam"]');
แสดงข้อมูล
mysql> SELECT * FROM DemoTable1832;
ผลลัพธ์:
+--------------------------+
| ListOfNames |
+--------------------------+
| ["Sam", "Mike", "Carol"] |
| ["David", "Bob"] |
| ["Adam", "John", "Sam"] |
+--------------------------+
ข้อดีของชนิดข้อมูล JSON
- ตรวจสอบความถูกต้องของ JSON อัตโนมัติ (Validation)
- ฟังก์ชันสำหรับจัดการ JSON:
JSON_EXTRACT,JSON_CONTAINS,JSON_ARRAY_APPENDฯลฯ - ดัชนีเสมือน (Virtual Columns) สำหรับค้นหาเร็วขึ้น
- จัดเก็บในรูปแบบไบนารีที่มีประสิทธิภาพ
ตัวอย่างการดึงข้อมูล
-- ดึงสมาชิกคนแรกของอาร์เรย์
SELECT JSON_EXTRACT(ListOfNames, '$[0]') FROM DemoTable1832;
-- ค้นหาแถวที่มี "Sam"
SELECT * FROM DemoTable1832 WHERE JSON_CONTAINS(ListOfNames, '"Sam"');