查看生成列

Exisi 2023-04-10 16:24:30
Categories: Tags:
  • 默认的查询语句下,生成列是隐藏的,查询生成列可以使用 SHOW CREATE TABLE 语句和 SHOW EXTENDED COLUMNS 语句

 

  • 使用 SHOW CREATE TABLE 查看建立表语句

示例

SHOW CREATE TABLE user;

 

函数索引下的虚拟生成列,运行结果如下:

*************************** 1. row ***************************

            Table: user

Create Table: CREATE TABLE `users` (

  `uid` int NOT NULL AUTO_INCREMENT,

  `uname` varchar(20) NOT NULL,

  `uadress` varchar(20)  NOT NULL,

  PRIMARY KEY (`uid`),

  KEY `functional_index` (((`uu` + `uage`)))

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

 

生成列运行结果如下:

*************************** 1. row ***************************

            Table: user

Create Table: CREATE TABLE `users` (

  `uid` int NOT NULL AUTO_INCREMENT,

  `uname` varchar(20) NOT NULL,

  `uadress` varchar(20)  NOT NULL,

  `uvirtual` varchar(20)  AS (((`uu` + `uage`)))

  PRIMARY KEY (`uid`),

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

 

 

 

  • 使用 SHOW EXTENDED COLUMNS 可以查询数据表中的所有列信息,且包含了虚拟列

示例

SHOW EXTENDED COLUMNS FROM users;

 

运行结果如下:

 

数据中可能存在多个属性,不建议查询出全表的所有列,可以使用以下语句优化

示例

SHOW EXTENDED COLUMNS FROM users

WHERE `EXTRA` LIKE '%VIRTUAL%' OR '%STORED%'

 

运行结果如下: