MySQL 5.7+ hỗ trợ kiểu JSON nguyên sinh. Dùng hàm JSON_CONTAINS() để kiểm tra tài liệu JSON có chứa giá trị nhất định không.
Ví dụ minh họa
Tạo bảng cột JSON:
mysql> CREATE TABLE DemoTable (StudentName JSON);
Chèn mảng JSON:
mysql> INSERT INTO DemoTable VALUES('["John", "Chris", "Robert", "David", "Sam"]');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+---------------------------------------------+ | StudentName | +---------------------------------------------+ | ["John", "Chris", "Robert", "David", "Sam"] | +---------------------------------------------+
Tìm hàng có mảng chứa "Chris":
mysql> SELECT * FROM DemoTable WHERE JSON_CONTAINS(StudentName, '["Chris"]');
Kết quả
+---------------------------------------------+ | StudentName | +---------------------------------------------+ | ["John", "Chris", "Robert", "David", "Sam"] | +---------------------------------------------+
Các hàm JSON hữu ích khác:
JSON_EXTRACT(col, '$.path')/col->>'$.path'- trích xuất giá trịJSON_ARRAY_APPEND(),JSON_ARRAY_INSERT()- sửa mảngJSON_OBJECT()- tạo object JSONJSON_TABLE()(MySQL 8.0) - chuyển JSON thành bảng quan hệ