当前位置: 首页 > news >正文

mysql虚拟列

目录

1. 关于虚拟列

2. 虚拟列分类

3. 虚拟列使用

3.1 创建虚拟列

3.2 为虚拟列添加索引

3.3 验证虚拟列索引是否生效

3.4 删除虚拟列


1. 关于虚拟列

MySQL 5.7 版本引入了虚拟列(也称为生成列)的功能,这是一种在物理表上定义的虚拟列,其值是基于表中其他列的值计算得出的。虚拟列可以是存储在表中的,也可以是虚拟的,即只在查询时计算。这对于简化查询、提高数据冗余度管理和提高数据一致性非常有用。 

2. 虚拟列分类

你可以在创建表时或之后通过 ALTER TABLE 语句添加虚拟列。虚拟列可以是持久化的(存储在磁盘上),也可以是非持久的(只在查询时计算)。

3. 虚拟列使用

3.1 创建虚拟列

ALTER TABLE table_name ADD etax_phone_number VARCHAR(20) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(etax_login_info, '$.phoneNumber')));

3.2 为虚拟列添加索引

ALTER TABLE table_name ADD INDEX idx_etax_phone_number (etax_phone_number);

3.3 验证虚拟列索引是否生效

EXPLAIN SELECT * FROM table_name WHERE json_extract(etax_login_info, '$.phoneNumber') = '13025358108';
EXPLAIN SELECT * FROM table_name WHERE etax_phone_number = '13025358108';

3.4 删除虚拟列

ALTER TABLE table_name DROP COLUMN etax_phone_number;

相关文章:

  • 基于SpringBoot的商城管理系统(源码+部署教程)
  • .Net 6 上传文件接口 文件大小报错整体配置
  • ARMv8寄存器的介绍
  • 【十三】Golang 通道
  • 机器始终是一个机器:技术本质与哲学边界
  • l c a
  • 数据安全基石:备份文件的重要性与自动化实践
  • Elasticsearch:使用 BigQuery 提取数据
  • C语言-文件操作 文件的随机读写
  • Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type
  • P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS
  • Nginx(基础安装+配置文件)
  • [PWNME 2025] PWN 复现
  • GPU编程实战指南02:CUDA开发快速上手示例
  • C++20 格式化库:强大的字符串格式化工具
  • 【网络】TCP常考知识点详解
  • IDEA Commit 模态提交界面关闭VS开启对比
  • 2025最新比较使用的ai工具都有哪些,分别主要用于哪些方面?
  • 静态时序分析STA——2. 数字单元库-(2)
  • 海思Hi3516DV00移植yolov5-7.0的模型转化流程说明
  • 免费解析网站/seo技术助理
  • 中国城乡和住房建设部网站/淘宝优化
  • wordpress 安全 插件/长沙seo平台
  • 长沙手机网站设计/2345网址导航电脑版官网
  • 在网站后台可以修改网页的内容/制作app软件平台
  • 做网站需要云数据库吗/企业查询系统官网天眼查