购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.5 计算列数据的插入和更新

所谓的计算列,就是某一列的值是通过别的列计算得来的。例如,“chinese”列的值为98,“math”列的值为“89”,“english”列的值为“95”,“total”列的值不需要手动插入,定义“(chinese+math+english)”的结果为“total”列的值,那么“total”列的值就是计算列。

4.5.1 增加计算列

在MySQL 8.0中,“CREATE TABLE”语句和“ALTER TABLE”语句都支持增加计算列。SQL语句示例如下。

(1)以“tb_student”表为例,使用ALTER语句先给“tb_student”表增加“math”和“english”列,然后增加“total”计算列。

提示信息表示增加列成功了。其中“total”列的值被指定为始终由“(chinese+math+english)”计算产生。

(2)另外,第4.4节中,已经把“tb_student”表的所有记录清空了,所以读者也可以使用DROP语句先删除“tb_student”表,然后使用CREATE语句重新建立一张新表。

提示信息表示删除原来的“tb_student”表成功,重新创建的“tb_student”也成功了。

(3)使用DESC语句查看表结构。

4.5.2 计算列数据的插入和修改

数据表中的计算列定义好后,我们就可以演示计算列数据的插入和修改效果了。SQL语句示例如下。

(1)向“tb_student”表插入演示数据。

提示信息表示插入4条记录成功。在上面的INSERT语句中并没有指定计算列“total”的数据。

(2)使用SELECT语句查看执行结果。

从结果中可以看出,“total”列的数据由“(chinese+math+english)”计算所得。

例如,(1)更新“tb_student”表中“sname”为“张三”的“chinese”字段值为“100”。

提示信息表示1条记录受到影响。

(2)使用SELECT语句查看执行结果。

从结果中可以看出,字段“total”的值始终由“(chinese+math+english)”计算所得,即如果“chinese”“math”“english”字段的值修改了,“total”字段值会自动重新计算。 NgxJf1ob8+SwcjwM2yYmrSBiqU1To6uS7v7T+BpYEdijEJHYGe9+0Vdv8Lh95r16

点击中间区域
呼出菜单
上一章
目录
下一章
×