Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn kiểu dữ liệu JSON trong MySQL

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ảng
  • JSON_OBJECT() - tạo object JSON
  • JSON_TABLE() (MySQL 8.0) - chuyển JSON thành bảng quan hệ