mysql json data type

创建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

https://www.cnblogs.com/muscleape/p/10064031.html

原文地址:https://www.cnblogs.com/Mint-diary/p/14451867.html