MySQL中查看数据表的表结构和列注释

  • Post author:
  • Post published:2023年 2月 6日
  • Post last modified:2023年 2月 6日
  • Reading time:1 mins read

问题提出

我们在MySQL中创建数据表时,一般会将键名设计成纯英文,然后在注释栏当中写一些提示性文字来说明它的具体内涵。但随着键名的逐渐增加或时间的缓慢流逝,我们可能忘记了或是很难找到想要的那个键名,给我们使用数据库添加了一些小障碍。

解决方案-查看表结构

想要查看表结构或者说表中所有键名时,可以使用如下SQL语句(假设我们要看的是economy数据库中city表):

SHOW COLUMNS FROM economy.city

不过该语句仅显示了键名,没有显示列注释,仍未能完全解决我们面临的问题。

解决方案-查看列注释

在MySQL数据库中,自带了一个名为information_schema的数据库,里面存储了许多有关数据库、数据表的元信息,我们创建键时提供的注释文字就可以在这个数据库当中找到。

比如说,我们想要查看economy数据库中city表的列注释时,可以用如下SQL语句:

SELECT column_name, column_comment 
    FROM information_schema.columns 
    WHERE table_schema='economy' AND table_name='city'

其中information_schema就是前面提到的存储元信息的数据库,我们想要的列注释存储在该数据库的columns表当中,这个表的column_name列存储了键名,column_comment列存储了列注释,更多列信息可以查看这个表的表结构(使用上面介绍的SHOW COLUMNS语句)。

如果我现在想要找到所有注释中带有“软件”一词的键名,可以使用如下SQL语句:

SELECT column_name, column_comment 
    FROM information_schema.columns 
    WHERE table_schema='economy' AND table_name='city' 
        AND column_comment LIKE '%软件%'

这样就可以比较便捷地找到想要的键名啦!