mysql 中 json的使用

本文介绍了MySQL中JSON的使用,涵盖表的创建、数据增加和查找操作。数据增加和查找示例中给出了数组[1, 2, 3, 4]和对象{\a\: 1, \b\: \two\}。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql 中 json的使用

1. 表的创建

  CREATE TABLE `json` (
  `id` bigint(22) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `json` json DEFAULT NULL COMMENT 'json',
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 数据增加

  • [1, 2, 3, 4]

INSERT INTO json ( `json`) VALUES ( JSON_ARRAY(1, 2, 3,4));

INSERT INTO json(`json`) VALUES ('[1, 2, 3, 4]');
  • {"a": 1, "b": "two"}

INSERT INTO json ( `json`) VALUES ( JSON_OBJECT("a", 1, "b", "2"));

INSERT INTO json ( `json`) VALUES ( '{"a":1, "b":"2"}');

INSERT INTO json ( `json`) VALUES ( JSON_MERGE('{"a":1}','{"b":"2"}'));

INSERT INTO json ( `json`) VALUES ( JSON_MERGE(JSON_OBJECT("a", 1),JSON_OBJECT("b", "2")) );

INSERT INTO json ( `json`) VALUES ( JSON_MERGE(JSON_OBJECT("a", 1),'{"b": "2"}') );

3. 查找

  • [1, 2, 3, 4]

# 查找到json字符串包含'1'
SELECT * FROM json where json_contains(json,'1') ;

# 查找json的第1个数为1
select * FROM json where json_extract(json, '$[0]') = 1;

# 查找json的第1个数为1(# 使用 JSON_EXTRACT 方法的简化形式 ‘->’)
select * from json where json->'$[0]' = 1;
  • {"a": 1, "b": "two"}

# 查找到json字符串key名为a,值为1
select * FROM json where json_extract(json, '$.a') = 1;

# 查找到json字符串key名为a,值为1(使用 JSON_EXTRACT 方法的简化形式 ‘->’)
select * from json where json->'$.a' =1;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值