返回顶部
首页 > 资讯 > 数据库 >什么是mysql的虚拟列以及应用实例
  • 513
分享到

什么是mysql的虚拟列以及应用实例

mysql数据库java 2023-09-20 19:09:00 513人浏览 泡泡鱼
摘要

目录 简介虚拟列的分类虚拟列使用示例 简介 Mysql的虚拟列是一种新特性,可以在查询时直接使用虚拟列(代替视图) 存储虚拟列可以用作实例化缓存,以用于动态计算成本高昂的复杂条件。虚拟列可

目录

简介

Mysql的虚拟列是一种新特性,可以在查询时直接使用虚拟列(代替视图) 存储虚拟列可以用作实例化缓存,以用于动态计算成本高昂的复杂条件。虚拟列可以在创建表时定义,并在查询时像普通列一样使用。虚拟列通常用于计算或汇总数据,例如计算总价、计算平均值等。

定义mysql虚拟列(generated-columns)是Mysql 5.7加入的新特性。从名字来讲,“生成的字段”,并不是主动插入的值。MySQL的文档,是这么解释虚拟列的:There are two kinds of Generated Columns: virtual (default) and store-generated (non-default). Virtual columns are generated on the fly as part of an INSERT or UPDATE statement, and they are not stored in the table. Stored-generated columns are calculated based on the values of other columns and are stored in the table.

虚拟列的分类

在MySQL中,虚拟列有两种类型:STORED和VIRTUAL,分别表示存储列和虚拟列。

  • 存储列(STORED):表示虚拟列的值实际上是被计算出来并存储在表中的,可以在查询时直接使用。存储列的优点是它们可以被索引,这意味着它们可以更快地被搜索,但是它们也会占用更多的存储空间。存储列的值在数据插入或更新时动态计算,并存储在表中。

其中的公式为:

alter table table_name    modify column_name int as (表达式) stored;

AS (表达式):定义该列为虚拟列,并指定其值的计算方式。表达式是一个SQL表达式,用于计算虚拟列的值。

STORED:表示该虚拟列的值会被计算出来并存储在表中。

  • 虚拟列(VIRTUAL):表示虚拟列的值不会存储在表中,而是在查询时动态计算。虚拟列的优点是它们不会占用额外的存储空间,但是它们不能被索引,因此在大型表中使用虚拟列时需要谨慎,否则可能会影响查询性能。 在上述SQL语句中,使用了STORED关键字表示该虚拟列的值会被计算出来并存储在表中。因此,每次查询表时,MySQL都会返回存储在表中的虚拟列值,而不是在查询时计算虚拟列的值。

其中公式为:

alter table table_name    add column_name int as (表达式);

AS (表达式):定义该列为虚拟列,并指定其值的计算方式。表达式是一个SQL表达式,用于计算虚拟列的值。

虚拟列使用示例

创建数据库mydb,创建用户表并插入数据

create database mydb;use mydb;create table t_user(    id          bigint auto_increment        primary key,    name        varchar(255)  null,    age         int default 0 null);INSERT INTO mydb.t_user (name, age) VALUES ('小明', 12)INSERT INTO mydb.t_user (name, age) VALUES ('小红', 18)

插入两条数据。

创建虚拟存储列

alter table mydb.t_user    add store_age int as (age + 9) stored;

创建了store_age的虚拟存储列,以age为标准加9.

展示效果

idnameagestore_age
1小明1221
2小红1827

可以看到store_age的数据都是在age的基础上加了9

创建虚拟列

alter table mydb.t_user    add virtual_age int as (age + 87);

创建了virtual_age的虚拟列,以age为标准加87.

展示效果

idnameagestore_agevirtual_age
1小明122199
2小红1827105

可以看到virtual_age的数据都是在age的基础上加了87.

来源地址:https://blog.csdn.net/qq_30503389/article/details/131243934

您可能感兴趣的文档:

--结束END--

本文标题: 什么是mysql的虚拟列以及应用实例

本文链接: https://lsjlt.com/news/413217.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 什么是mysql的虚拟列以及应用实例
    目录 简介虚拟列的分类虚拟列使用示例 简介 MySQL的虚拟列是一种新特性,可以在查询时直接使用虚拟列(代替视图) 存储虚拟列可以用作实例化缓存,以用于动态计算成本高昂的复杂条件。虚拟列可...
    99+
    2023-09-20
    mysql 数据库 java
  • 微信小程序虚拟列表的应用实例
    目录前言什么是虚拟列表?demo效果准备工作屏高&盒子高度优化总结前言 股票热门榜单有4000多条,渲染到页面上在盘中时还得实时更新,如果采用接口和分页,当下拉几十页的时候页...
    99+
    2024-04-02
  • 虚拟专网的工作原理以及用途是什么
    虚拟专网的工作原理以及用途是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在使用虚拟专网之前,企业或者单位会进行网络加密,这样一来可以保护企业信息的安全。那么虚拟专网的工作...
    99+
    2023-06-07
  • Python虚拟机中列表的实现原理是什么
    这篇文章主要介绍“Python虚拟机中列表的实现原理是什么”,在日常操作中,相信很多人在Python虚拟机中列表的实现原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python虚拟机中列表的实现原理...
    99+
    2023-07-05
  • mysql多实例的应用方法是什么
    这篇文章主要介绍了mysql多实例的应用方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql多实例的应用方法是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-04-14
    mysql
  • cluvfy的命令列表及实例应用
    本篇内容介绍了“cluvfy的命令列表及实例应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、命令列表...
    99+
    2024-04-02
  • asp虚拟主机搭建及使用的方法是什么
    ASP虚拟主机的搭建及使用方法如下:1.选择ASP虚拟主机服务提供商,注册账号并购买虚拟主机空间。2.使用FTP软件登录虚拟主机空间...
    99+
    2023-06-03
    asp虚拟主机 虚拟主机
  • react虚拟dom的作用是什么
    这篇文章主要介绍“react虚拟dom的作用是什么”,在日常操作中,相信很多人在react虚拟dom的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”react虚拟d...
    99+
    2024-04-02
  • 虚拟主机的作用是什么
    这篇文章主要讲解了“虚拟主机的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“虚拟主机的作用是什么”吧!  一、虚拟主机和空间有什么区别?  虚拟主机和空间都是企业建站时要选择的储存...
    99+
    2023-06-07
  • linux虚拟化的作用是什么
    这篇文章主要介绍了linux虚拟化的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux虚拟化的作用是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-04-21
    linux
  • 虚拟主机的用途是什么
    虚拟主机是指在一台物理服务器上划分出多个独立的虚拟服务器,每个虚拟服务器都拥有自己独立的操作系统、资源和配置。虚拟主机的主要用途包括...
    99+
    2024-05-15
    虚拟主机
  • 服务器虚拟化的五个主要应用是什么
    服务器虚拟化的五个主要应用是:1、用于服务器整合,减少了管理多台物理服务器的成本;2、用于数据系统的灾难恢复,能加快数据的拷贝和应用程序的恢复;3、将不同的服务分配到VPS中,能提高服务器的安全性;4、能创建和复制多个系统环境,可以用于软件...
    99+
    2024-04-02
  • C#中的打印原理以及应用实例
    这篇文章主要讲解了“C#中的打印原理以及应用实例”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中的打印原理以及应用实例”吧!C#打印原理其实就是生成MDI文件,那么什么是MDI文件呢?M...
    99+
    2023-06-17
  • mysql虚拟主机连接的方法是什么
    要连接MySQL虚拟主机,需要使用以下步骤:1. 确认MySQL虚拟主机的IP地址和端口号。2. 使用MySQL客户端连接虚拟主机,...
    99+
    2023-06-06
    mysql虚拟主机 虚拟主机
  • 虚拟云主机是做什么用的
    虚拟云主机是一种基于云计算技术的虚拟主机服务。它是将物理服务器划分为多个虚拟主机,每个虚拟主机拥有独立的操作系统、独立的资源分配和独...
    99+
    2023-09-17
    虚拟云主机
  • 什么是mysql多实例及如何配置
    下面讲讲关于什么是mysql多实例及如何配置,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完什么是mysql多实例及如何配置这篇文章你一定会有所受益。   m...
    99+
    2024-04-02
  • MySQL的版本以及版本号是什么
    MySQL的版本以及版本号是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。针对不同的用户, MySQL 分为两个版本:My...
    99+
    2024-04-02
  • 虚拟主机申请的方法及步骤是什么
    虚拟主机申请的方法及步骤如下:1.选择虚拟主机提供商:根据自己的需求和预算选择虚拟主机提供商。2.选择虚拟主机方案:根据自己的网站需...
    99+
    2023-06-14
    虚拟主机申请 虚拟主机
  • Python中super()的理解以及应用场景实例
    目录一、前言二、什么是super三、super的常用使用场景总结一、前言 最近有粉丝向我咨询super相关的问题,说网上搜索到的教程不够通俗易懂,看了之后还是不太理解。所以在这里基...
    99+
    2024-04-02
  • 云服务器是虚拟技术吗为什么没有实现应用
    首先,云服务器是一种基于云计算技术的服务器,它可以在不同的计算机之间进行资源共享。用户可以通过互联网访问云服务器中的服务器,而不需要购买或租用自己的服务器。云服务器可以根据用户的需求进行扩展,以满足用户的不同需求。 其次,云服务器是一种基...
    99+
    2023-10-27
    服务器 技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作