VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

SHOW COLUMNS

功能描述

SHOW COLUMNS用于查看指定表的列元信息。

注意事项

  • 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
  • 临时表需要指定临时表对应的schema查询。
  • 复合主键索引所有参与列都会在Key字段中显示为PRI。
  • 复合唯一索引所有参与列都会在Key字段中显示为UNI。
  • 如果一个列参与了多个索引的创建,以该列第一个创建的索引为准显示Key字段。
  • 生成列会在Default中显示生成式。
  • 表名中含schemaname/dbname并且同时指定dbname时,仅匹配指定的dbname。
  • 结果仅显示当前查询用户具有SELECT权限的列信息。

语法格式

SHOW [FULL] {COLUMNS | FIELDS}
   {FROM | IN} tbl_name
   [{FROM | IN} db_name]
   [LIKE 'pattern' | WHERE expr]

参数说明

  • {COLUMNS | FIELDS}

    使用COLUMNS和FIELDS效果是等价的。

  • tbl_name

    表名,可指定表名。也可以指定schema_name.table_name

  • db_name

    库名(或schema),当tbl_name中也指定库名(或schema名)时,优先选择本选项。

  • LIKE 'pattern'

    pattern匹配显示结果的Field列。

示例

1、创建模式并切换至模式路径下。

CREATE SCHEMA tst_schema1;
SET SEARCH_PATH TO tst_schema1;

2、创建测试表并添加注释。

CREATE TABLE tst_t1
(
id int primary key,
name varchar(20) NOT NULL,
addr text COLLATE "de_DE",
phone text COLLATE "es_ES",
addr_code text
);
COMMENT ON COLUMN tst_t1.id IS 'identity';

3、查看表的列元信息。

show FULL COLUMNS FROM tst_t1;

返回结果为:

   Field   |    Type     | Collation | Null | Key | Default | Extra |               Privileges                | Comment
-----------+-------------+-----------+------+-----+---------+-------+-----------------------------------------+----------
 id        | integer     | NULL      | NO   | PRI | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT | identity
 name      | varchar(20) | NULL      | NO   |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
 addr      | text        | de_DE     | YES  |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
 phone     | text        | es_ES     | YES  |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
 addr_code | text        | NULL      | YES  |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
(5 rows)

4、在SHOW COLUMNS语句中使用模糊匹配。

show full columns from tst_t1 like '%addr%';

返回结果为:

   Field   | Type | Collation | Null | Key | Default | Extra |               Privileges                | Comment
-----------+------+-----------+------+-----+---------+-------+-----------------------------------------+---------
 addr      | text | de_DE     | YES  |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
 addr_code | text | NULL      | YES  |     | NULL    |       | UPDATE,SELECT,REFERENCES,INSERT,COMMENT |
(2 rows)