MySQL使用技巧总结
JSON 数据的使用
首先有一张 test 表,content 字段保存的是 JSON 数据。
1 | CREATE TABLE `test` ( |
插入几条测试数据
1 | INSERT INTO test |
查询字段 key1 为“内容1”的数据,这里使用JSON_EXTRACT(),更多点击:MySQL 官方文档
1 | SELECT * FROM test WHERE JSON_EXTRACT(content,'$.key1')='内容1'; |
查询字段为“123”的内容为“内容1”的数据
因为字段为纯数字,所以需要加双引号(“”)
1 | SELECT * FROM test WHERE JSON_EXTRACT(content,'$."123"')='内容1'; |
为 JSON 内部字段 key1 加索引
第一步:添加虚拟字段
1 | ALTER TABLE test ADD COLUMN `key1_virtual` VARCHAR (20) GENERATED ALWAYS AS (json_unquote(json_extract(content,'$.key1'))) VIRTUAL; |
第二步:创建索引
1 | ALTER TABLE test ADD INDEX `idx_key1`(key1_virtual) USING BTREE; |
测试
1 | EXPLAIN SELECT * from test where key1_virtual='内容1'; |
结果如下,idx_key1 索引生效了
1 | +----+-------------+-------+------------+------+---------------+----------+---------+-------+------+----------+-------+ |
另外还有一种添加索引的方法:查看
参考文章:
https://developer.aliyun.com/article/303208
mysql更新 A 表的字段等于 B 表的字段
1 | UPDATE |