mysql 5.7 新特性
程序员文章站
2023-12-23 13:16:28
...
以前都用mysql5.5,最近公司上了1个新项目,用mysql5.7,特意去学了下,发现增加了对原生json的支持
新建user表,设置lastlogininfo列为JSON类型。
mysql> CREATE TABLE user(id INT PRIMARY KEY, name VARCHAR(20) , lastlogininfo JSON);
Query OK, 0 rows affected (0.27 sec)
向user表插入普通数据与json数据。mysql会对插入的数据进行JSON格式检查,确保其符合JSON格式,若插的是不合法的数据, 会出现Invalid JSON text错误。
mysql> INSERT INTO user VALUES(1 ,"lucy",'{"time":"2015-01-01 13:00:00","ip":"
192.168.1.1","result":"fail"}');
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO user VALUES(2 ,"bobo",'{"time":"2015-10-07 06:44:00","ip":"
192.168.1.0","result":"success"}');
Query OK, 1 row affected (0.04 sec)
如果要查询json里面字段信息
语法 JSON_EXTRACT(json列 , '$.键')
SELECT * FROM user WHERE JSON_EXTRACT(lastlogininfo,'$.time') > '2015-10-02';
更多mysql5.7 介绍 https://dev.mysql.com/doc/refman/5.7/en/json.html