mysql创建表列说明_MySQL表生成列(GeneratedColumns)的使用说明

本文介绍了MySQL的生成列,包括虚拟列(Virtual)和存储列(Stored)。虚拟列在读取时自动计算,不占用存储空间;存储列在插入数据时计算并存储。以一个例子说明了如何创建包含虚拟列`full_name`的`employees`表,以及如何直接查询和插入数据。还展示了如何通过ALTER TABLE语句为已有表添加虚拟生成列。
摘要由CSDN通过智能技术生成

MySQL的表生成列通常又叫做虚拟列或计算列。这个生成列的值是在列定义时包含了一个计算表达式计算得到的,有两种类型的生成列:

Virtual(虚拟):这个类型的列会在读取表记录时自动计算此列的结果并返回。

Stored(存储):这个类型的列会在表中插入一条数据时自动计算对应的值,并插入到这个列中,那么这个列会作为一个常规列存在表中。

虚拟生成列有时候比存储生成列更有用,因为它不会占用存储空间。

假如有一个应用,需要添加一个full_name列,值是first_name和last_name的组合即concat(`first_name`,'

',`last_name`),在读取数据时,你可以使用这个虚拟列来代替表达式查询语句,它会自动动态计算full_name列的值。

mysql>

CREATE TABLE `employees` (

`emp_no`

int(11) NOT NULL,

`birth_date`

date NOT NULL,

`first_name`

varchar(14) NOT NULL,

`last_name`

varchar(16) NOT NULL,

`gender`

enum('M','F') NOT NULL,

`hire_date`

date NOT NULL,

`full_name`

VARCHAR(30) AS (CO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值