参考资料:
1、MySQL5.7的JSON基本操作
2、Mysql 提取JSON数组中的某一个属性或某一个属性列表
3、mysql官方帮助文档
建表
新建表时字段类型可以直接设置为json类型,比如:
CREATE TABLE `test_user`(`id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `info` JSON);
json类型字段可以为NULL
插入数据
INSERT INTO test_user(`name`, `info`) VALUES('xiaoming','{"sex": 1, "age": 18, "nick_name": "小萌"}');
json类型的字段必须时一个有效的json字符串
可以使用JSON_OBJECT()
函数构造json对象:
INSERT INTO test_user(`name`, `info`) VALUES('xiaohua', JSON_OBJECT("sex", 0, "age", 17));
使用JSON_ARRAY()
函数构造json数组:
INSERT INTO test_user(`name`, `info`) VALUES('xiaozhang', JSON_OBJECT("sex", 1, "age", 19, "tag", JSON_ARRAY(3,5,90)));
现在查看test_user
表中的数据:
mysql> select * from test_user;
+----+-----------+--------------------------------------------+
| id | name | info |
+----+-----------+--------------------------------------------+
| 1 | xiaoming | {
"age": 18, "sex": 1, "nick_name": "小萌"} |
| 2 | xiaohua | {
"age": 17, "sex": 0} |
| 3 | xiaozhang |