- 默认的查询语句下,生成列是隐藏的,查询生成列可以使用 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%'
运行结果如下: