It can be illustrated with the help of an example in which we are creating a virtual generated column in the table named ‘triangle’. As we know that virtual generated column can be generated with or without using the keyword ‘virtual’.
Example
mysql> Create table triangle(SideA DOUBLE, SideB DOUBLE, SideC DOUBLE AS (SQRT(SideA * SideB + SideB * SideB))); Query OK, 0 rows affected (0.44 sec) mysql> Describe Triangle; +-------+--------+------+-----+---------+-------------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------+------+-----+---------+-------------------+ | SideA | double | YES | | NULL | | | SideB | double | YES | | NULL | | | SideC | double | YES | | NULL | VIRTUAL GENERATED | +-------+--------+------+-----+---------+-------------------+ 3 rows in set (0.00 sec)
The above description shows that the column SideC is a virtually generated column.
mysql> INSERT INTO triangle(SideA, SideB) Values(1,1),(3,4),(6,8); Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> Select * from triangle; +-------+-------+--------------------+ | SideA | SideB | SideC | +-------+-------+--------------------+ | 1 | 1 | 1.4142135623730951 | | 3 | 4 | 5.291502622129181 | | 6 | 8 | 10.583005244258363 | +-------+-------+--------------------+ 3 rows in set (0.03 sec)