mysqljson字段使用
(2022-05-19 14:34:24)分类: MYSQL(6/26) |
https://www.cnblogs.com/better-farther-world2099/articles/14679787.html
create table `test`( `id` INT AUTO_INCREMENT PRIMARY KEY, `content` JSON ) CHARSET = utf8;
INSERT INTO test (content) VALUES ('{"name": "baidu","host": "www.baidu.com"}'); INSERT INTO test (content) VALUES ('{"name": "alibaba","host": "www.alibaba.com"}');
select JSON_EXTRACT(content,'$.name'),JSON_EXTRACT(content,'$.host') from test;
select JSON_EXTRACT(content,'$.name'),JSON_EXTRACT(content,'$.host') from test where JSON_EXTRACT(content,'$.name') = "baidu";
alter table test add index virtual_index(v_name);
explain select content from test where v_name = "baidu";
1. 增加虚拟列v_name,v_host
ALTER TABLE test ADD COLUMN v_name CHAR(10) AS (content->'$.name'); ALTER TABLE test ADD COLUMN v_host CHAR(30) AS (content->'$.host');