MySQL 5.7+ รองรับ JSON data type และฟังก์ชัน JSON_EXTRACT() หรืออ็อปเจอเตอร์ ->>
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> Data JSON
-> );
เพิ่มข้อมูล JSON
mysql> INSERT INTO DemoTable VALUES('{"Name": "John", "CountryName": "US"}');
mysql> INSERT INTO DemoTable VALUES('{"Name": "Chris", "CountryName": "UK"}');
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+----------------------------------------+
| Data |
+----------------------------------------+
| {"Name": "John", "CountryName": "US"} |
| {"Name": "Chris", "CountryName": "UK"} |
+----------------------------------------+
คำสั่งค้นหาที่ CountryName = US
mysql> SELECT * FROM DemoTable WHERE JSON_EXTRACT(Data, '$.CountryName') LIKE '%US%';
ผลลัพธ์:
+---------------------------------------+
| Data |
+---------------------------------------+
| {"Name": "John", "CountryName": "US"} |
+---------------------------------------+
คำอธิบาย: JSON_EXTRACT(Data, '$.CountryName') ดึงค่า "US" (รวมเครื่องหมายคำพูด) | ใช้ LIKE '%US%' เพื่อจับคู่ | หรือใช้ Data->>'$.CountryName' (unescaped) ได้ใน MySQL 5.7+