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

Lưu trữ tập hợp phần tử trong một ô MySQL bằng JSON

Kiểu dữ liệu JSON (MySQL 5.7+) cho phép lưu trữ mảng hoặc đối tượng phức tạp trong một cột duy nhất, thay vì thiết kế nhiều bảng liên quan.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1828 (
    EmployeeId INT,
    EmployeeRecords JSON
);

Chèn mảng đối tượng JSON:

mysql> INSERT INTO DemoTable1828 VALUES(1, '[{"EmployeeName":"Chris","EmployeeAge":29},{"EmployeeName":"David","EmployeeAge":27}]');
mysql> INSERT INTO DemoTable1828 VALUES(2, '[{"EmployeeName":"John","EmployeeAge":36},{"EmployeeName":"Mike","EmployeeAge":32}]');

Truy vấn:

mysql> SELECT * FROM DemoTable1828;

Kết quả (MySQL tự động sắp xếp khóa theo thứ tự bảng chữ cái):

+------------+------------------------------------------------------------------+
| EmployeeId | EmployeeRecords                                                  |
+------------+------------------------------------------------------------------+
|          1 | [{"EmployeeAge": 29, "EmployeeName": "Chris"}, {"EmployeeAge": 27, "EmployeeName": "David"}] |
|          2 | [{"EmployeeAge": 32, "EmployeeName": "Mike"}, {"EmployeeAge": 36, "EmployeeName": "John"}]   |
+------------+------------------------------------------------------------------+

Ưu điểm: Truy vấn linh hoạt với JSON_EXTRACT, JSON_TABLE (MySQL 8), không cần schema cố định.