创建JSON
设置 JSON 主要将字段的 type 是 json, 不能设置长度,可以是 NULL 但不能有默认值
CREATE TABLE `am_user_profile` ( `user_id` int(10) unsigned NOT NULL COMMENT '用户ID', `first_name` varchar(50) NOT NULL DEFAULT '' COMMENT '名字', `last_name` varchar(50) NOT NULL COMMENT '姓氏', `keywords` json NOT NULL COMMENT '兴趣', `gender` tinyint(1) unsigned NOT NULL DEFAULT '3' COMMENT '性别 1男 2女 3保密', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', # 默认当前时间戳记 `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新', # 更新当前时间戳时的默认当前时间戳 PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户个人资料表';
# desc + 表名用来显示表的状态,包括列名(column name),各个列的类型(Type),各个列的值类型,主外键(Key),默认值,其他; DESC user;
插如JSON数据
1、插入 json 格式的字符串,可以是对象的形式,也可以是数组的形式;
2、可以使用JSON_OBJECT、JSON_ARRAY函数生成;
-- 直接插入字符串 INSERT INTO user(keywords) VALUES ('["Geology", "Geochemistry"]');
-- 使用JSON函数
INSERT INTO user(keywords) VALUES (JSON_ARRAY("Geology", "Geochemistry"));
https://dev.mysql.com/doc/refman/8.0/en/json.html#json-values