MySQL從5.7版本開始支持JSON,讓開發(fā)者可以輕松地在關(guān)系型數(shù)據(jù)庫中存儲(chǔ)和查詢JSON數(shù)據(jù)。這樣可以極大地簡化應(yīng)用程序與數(shù)據(jù)庫之間的交互。
要使用MySQL支持的JSON功能,首先需要?jiǎng)?chuàng)建一張包含JSON列的表:
CREATE TABLE my_table ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), json_col JSON );
在這張表中,我們定義了一個(gè)JSON類型的列:json_col。
接下來,可以使用MySQL提供的JSON函數(shù)來插入和查詢JSON數(shù)據(jù)。
例如,我們可以插入一條包含JSON數(shù)據(jù)的記錄:
INSERT INTO my_table (name, json_col) VALUES ('John', '{ "age": 30, "address": { "city": "New York", "state": "NY", "zip": "10028" } }');
接下來,我們可以查詢包含指定JSON屬性的記錄:
SELECT * FROM my_table WHERE JSON_EXTRACT(json_col, '$.address.city') = 'New York';
在這個(gè)例子中,JSON_EXTRACT函數(shù)用于提取json_col中的address.city字段值,并將其與'New York'進(jìn)行比較。
除了JSON_EXTRACT之外,MySQL還支持其他一些JSON相關(guān)的函數(shù),例如JSON_ARRAY、JSON_OBJECT、JSON_CONTAINS等等,這些函數(shù)可以幫助我們更方便地處理JSON數(shù)據(jù)。