JSON MySQL
Ký hiệu đối tượng JavaScript (JSON) là định dạng tệp dựa trên văn bản có trọng lượng nhẹ tương tự như YAML hoặc XML giúp đơn giản hóa việc trao đổi dữ liệu. Nó được phát minh bởi Douglas Crockford vào đầu những năm 2000 và ngày càng trở nên phổ biến với sự gia tăng của cơ sở dữ liệu dựa trên tài liệu (còn gọi là NoSQL) Show JSON hỗ trợ các chuỗi, số, booleans, đối tượng và mảng cũng như các giá trị null. Một ví dụ JSON đơn giản chứa các cặp khóa-giá trị, một đối tượng JSON
MySQL đã triển khai hỗ trợ cơ bản cho kiểu dữ liệu JSON với phiên bản 5. 7. 8 vào giữa năm 2015 và đã bổ sung thêm các cải tiến và tính năng mới kể từ đó. Bảy năm sau, MySQL hiện hỗ trợ nhiều hàm SQL để hoạt động với các tài liệu JSON, nó cung cấp xác thực nội dung tự động, cho phép cập nhật tại chỗ một phần và sử dụng định dạng lưu trữ nhị phân để tăng hiệu suất Cơ sở dữ liệu quan hệ tuân theo một cấu trúc được xác định trước và nhấn mạnh vào sự gắn kết và toàn vẹn của dữ liệu. Để đạt được điều này, các loại và định dạng dữ liệu cũng như kích thước dữ liệu của nó đều được thực thi nghiêm ngặt bằng phương tiện của lược đồ Kiểu dữ liệu JSON hơi trái ngược với tính chất nghiêm ngặt của một lược đồ như vậy. Nó cho phép bạn thoát ra khỏi nó, để có được sự linh hoạt khi bạn cần. Và nó tỏ ra hữu ích miễn là bạn nhận thức được sự đánh đổi được mô tả trong phần tiếp theo Một số ví dụ về thời điểm có thể hữu ích khi lưu trữ dữ liệu dưới dạng tài liệu JSON là
Bạn cũng có thể sử dụng các tài liệu JSON trong thiết kế cơ sở dữ liệu quan hệ của mình để chia nhỏ các mối quan hệ phức tạp trải rộng trên nhiều bảng. Quá trình này được gọi là không chuẩn hóa, là một cơ sở dữ liệu quan hệ chống mẫu khác. Tuy nhiên, trong một số trường hợp nhất định, nó có thể giúp cải thiện hiệu suất tùy thuộc vào trường hợp sử dụng và thiết kế ứng dụng của bạn Tính linh hoạt được cung cấp bởi kiểu dữ liệu JSON đi kèm với một số lưu ý mà bạn cần lưu ý Đáng chú ý nhất, bạn sẽ cần tính đến việc các tài liệu JSON thường yêu cầu nhiều dung lượng lưu trữ hơn. Trong MySQL, dấu chân lưu trữ của chúng tương tự như kiểu dữ liệu 1 hoặc 2. Tuy nhiên, có một chi phí chung do mã hóa nhị phân và siêu dữ liệu và từ điển được thêm vào tồn tại để tăng tốc độ đọc cơ sở dữ liệu. Một nguyên tắc nhỏ là một chuỗi được lưu trữ trong JSON sử dụng khoảng 4 đến 10 byte dung lượng lưu trữ bổ sung so với cột 1 hoặc 2Nếu bạn muốn tối ưu hóa lược đồ cơ sở dữ liệu của mình theo hướng hiệu quả lưu trữ, thì tốt nhất nên sử dụng các kiểu dữ liệu truyền thống hơn của MySQL ( 5, 6, 7, v.v.), vì tất cả chúng đều có hiệu quả lưu trữ cao hơn JSON.Một cảnh báo khác cần lưu ý là tác động hiệu suất. Tương tự như các định dạng nhị phân khác, tài liệu JSON không thể được lập chỉ mục trực tiếp. Điều này và lượng dữ liệu thay đổi mà bạn có thể lưu trữ trong tài liệu JSON, có nghĩa là việc truy vấn một cột JSON thường sử dụng nhiều không gian bộ đệm hơn và trả về các tập kết quả lớn hơn, dẫn đến nhiều trao đổi dữ liệu hơn
Mặc dù tài liệu JSON được lưu trữ trong MySQL có thể lên tới 1 GB, nhưng theo lý thuyết, bạn nên giữ tài liệu JSON ở kích thước chỉ vài MB. Trên PlanetScale, chúng tôi hỗ trợ tài liệu JSON lên tới 67 MB MySQL đi kèm với một bộ chức năng JSON mạnh mẽ cho phép bạn tạo, cập nhật, đọc hoặc xác thực tài liệu JSON của mình. PlanetScale hỗ trợ tất cả các hàm JSON ngoại trừ 8Hãy cùng nhau xem qua một vài ví dụ Đầu tiên, chúng ta tạo một bảng có cột 9 và cột 0SQL
Một bảng trống cần dữ liệu, vì vậy hãy sử dụng 1 để thêm một sốSQL
Làm thế nào để chúng ta biết đây là một mảng? SQL
Nếu chúng ta muốn trích xuất một mục từ mảng, chúng ta có thể làm như vậy với 3. Trong ví dụ dưới đây, chúng tôi trích xuất phần tử thứ tư từ mảngSQL
Chúng ta cũng có thể sử dụng 4, là toán tử tương đương với 3SQL
Nếu chúng ta cần kết quả không được trích dẫn, chúng ta có thể sử dụng 6, viết tắt của 7SQL
Nếu chúng ta cần thêm dữ liệu vào mảng JSON, chúng ta có thể sử dụng 8 hoặc 9 để cập nhật nóSQL
Để biết thêm thông tin về cách sử dụng tất cả các hàm JSON khác nhau, vui lòng xem tài liệu của MySQL về kiểu dữ liệu JSON và tham chiếu Hàm JSON JSON trong MySQL là gì?MySQL hỗ trợ loại dữ liệu JSON gốc được xác định bởi RFC 7159, cho phép truy cập hiệu quả vào dữ liệu trong tài liệu JSON ( Ký hiệu đối tượng JavaScript ). Kiểu dữ liệu JSON cung cấp những lợi thế này so với việc lưu trữ các chuỗi định dạng JSON trong một cột chuỗi. Tự động xác thực các tài liệu JSON được lưu trữ trong các cột JSON.
Bạn có nên sử dụng JSON trong MySQL không?Nếu bạn có các yêu cầu rõ ràng về dữ liệu quan hệ, hãy sử dụng các trường đơn giá trị thích hợp. JSON nên được sử dụng một cách tiết kiệm như là phương án cuối cùng . Không thể lập chỉ mục các trường giá trị JSON, vì vậy hãy tránh sử dụng nó trên các cột được cập nhật hoặc tìm kiếm thường xuyên.
Làm cách nào để lấy dữ liệu JSON trong MySQL?Điểm chính để trích xuất dữ liệu từ trường JSON trong MySQL. . Sử dụng $. . Sử dụng $[index] để trích xuất giá trị của phần tử từ mảng JSON Sử dụng -> làm lối tắt cho JSON_EXTRACT nếu giá trị không phải là chuỗi Làm cách nào để chèn JSON vào MySQL?Bước 1. Kết nối PHP với cơ sở dữ liệu MySQL. Là bước đầu tiên và quan trọng nhất, chúng ta phải kết nối PHP với cơ sở dữ liệu MySQL để chèn dữ liệu JSON vào MySQL DB. . Bước 2. Đọc tệp JSON trong PHP. . Bước 3. Chuyển đổi chuỗi JSON thành mảng PHP. . Bước 4. Trích xuất các giá trị mảng. . Bước 5. Chèn JSON vào cơ sở dữ liệu MySQL bằng mã PHP |