
上QQ阅读APP看书,第一时间看更新
4.4 为表增加计算列
什么叫计算列呢?简单来说,就是某一列的值是通过别的列计算得来的,例如a列的值为1,b列的值为2,c列的值不需要手动插入,定义a + b的结果为c列的值,那么c列就是计算列,是通过别的列计算得来的。
增加计算列的语法格式如下:

在MySQL 8.0中,CREAE TABLE和ALTER TABLE中都支持增加计算列。下面以在CREAE TABLE中为例进行讲解。
【例4.14】定义数据表tb1,然后定义字段id、字段a、字段b和字段c,其中字段c为计算列,用于计算a+b的值。
首先创建测试表tb1,语句如下:

插入演示数据,语句如下:
insert into tb1(a,b) values (100,200);
查询数据表tb1中的数据,结果如下:

更新数据表中的数据,语句如下:

再次查看数据表中的数据,结果如下:

从结果可以看出,字段c中的数据始终是字段a和字段b的和,随着字段a和字段b中数据的变化,自动重新计算a+b的值。