Mysql 为表增加计算列

什么叫计算列呢?简单来说就是某一列的值是通过别的列计算得来的。

增加计算列的语法格式如下:

col_name data_type [GENERATED ALWAYS] AS (expression) [VIRTUAL | STORED]
[UNIQUE [KEY]] [COMMENT comment]
[NOT NULL | NULL] [[PRIMARY] KEY];

下面是对各个部分的解释:

col_name: 这是列的名称。
data_type: 这是列的数据类型,例如INT, VARCHAR, DATE等。
[GENERATED ALWAYS]: 这是一个可选的子句,用于指定如何生成列的值。GENERATED ALWAYS表示该列的值总是由一个表达式生成,并且不能被插入或更新。
AS (expression): 这是一个表达式,用于生成列的值。
[VIRTUAL | STORED]: 这是一个可选的子句,用于指定该列是虚拟的(即只包含由表达式生成的值)还是存储的(即存储实际的值)。
[UNIQUE [KEY]]: 这是一个可选的子句,用于指定该列的值必须是唯一的。UNIQUE关键字表示该列的值必须是唯一的,而KEY关键字表示该列是主键。
[COMMENT comment]: 这是一个可选的子句,用于为列添加注释。
[NOT NULL | NULL]: 这是一个可选的子句,用于指定该列是否可以为NULL。NOT NULL表示该列的值不能为NULL,而NULL表示该列的值可以为NULL。
[[PRIMARY] KEY]: 这是一个可选的子句,用于指定该列是主键。如果已经使用了UNIQUE关键字,则这个子句是可选的。
总的来说,这段代码定义了一个数据库列,包括其名称、数据类型、生成方式、是否虚拟或存储、是否唯一、注释、是否可以为NULL以及是否为主键。

你可能感兴趣的:(mysql,数据库)