MySQL ৫.৭+ ভার্সন থেকে নেটিভ JSON সাপোর্ট আছে। JSON_EXTRACT() ফাংশন ব্যবহার করে JSON কালাম থেকে নির্দিষ্ট পথের মান বের করা যায়।
টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable (
-> Data JSON
-> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable VALUES('{"Name": "John", "CountryName": "US"}');
mysql> INSERT INTO DemoTable VALUES('{"Name": "Chris", "CountryName": "UK"}');
সকল রেকর্ড
+----------------------------------------+
| Data |
+----------------------------------------+
| {"Name": "John", "CountryName": "US"} |
| {"Name": "Chris", "CountryName": "UK"} |
+----------------------------------------+
JSON_EXTRACT দিয়ে US কান্ট্রি ফিল্টার
mysql> SELECT * FROM DemoTable WHERE JSON_EXTRACT(Data, '$.CountryName') LIKE '%US%';
আউটপুট:
+---------------------------------------+
| Data |
+---------------------------------------+
| {"Name": "John", "CountryName": "US"} |
+---------------------------------------+
টিপস: -> অপারেটর ব্যবহার করেও করা যায়: Data->'$.CountryName'। ->> দিয়ে আনকোটেড স্ট্রিং পাওয়া যায়।