MySQL Json類型的數據處理


新建表

CREATE TABLE `user_copy` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `lastlogininfo` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS=1;

插入數據,普通用法:

INSERT INTO user VALUES(1 ,'lucy','{"time":"2015-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}');
INSERT INTO user VALUES(2 ,"bobo",'{"time":"2015-10-07 06:44:00","ip":"192.168.1.0","result":"success"}');

json_object函數用法:

INSERT INTO user VALUES(3 ,"king",JSON_OBJECT("time",NOW(),"ip","192.168.1.1","result","fail"));

json數據條件過濾

SELECT * from `user` where lastlogininfo -> '$.result' = 'fail'
SELECT * FROM `user` WHERE JSON_EXTRACT(lastlogininfo,'$.result') = 'fail';

結果都是:

其表達式為:該json列->'$.鍵'與JSON_EXTRACT(json列 , '$.鍵')等效使用。如果傳入的不是一個有效的鍵,則返回Empty set。該表達式可以用於SELECT查詢列表 ,WHERE/HAVING , ORDER/GROUP BY中,但它不能用於設置值。

官網地址 : https://dev.mysql.com/doc/refman/5.7/en/json.html 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM