MySQL 显示列

17 Mar 2025 | 5 分钟阅读

表中的列是一系列可以存储文本、数字和图像的单元格。每个列为表中的每一行存储一个值。在使用 MySQL 服务器时,通常会显示特定表的列信息。在本节中,我们将讨论如何显示或列出现有表中的列。

MySQL 提供了两种显示列信息的方法

  1. MySQL SHOW COLUMNS 语句
  2. MySQL DESCRIBE 语句

让我们详细讨论这两种方法。

MySQL SHOW COLUMNS 语句

MySQL 中的 SHOW COLUMNS 语句是显示给定表中列信息的更灵活的方法。它还可以支持视图。使用此语句,我们将只获取我们拥有某些权限的列信息。

语法

以下是显示指定表中列信息的语法

让我们详细讨论语法参数。

EXTENDED 是一个可选关键字,用于显示信息,包括隐藏列。MySQL 内部使用用户无法访问的隐藏列。

FULL 也是一个可选关键字,用于显示列信息,包括排序规则、注释以及我们对每个列的权限。

table_name 是我们要显示列信息的表的名称。

db_name 是包含我们要显示列信息的表的数据库的名称。

LIKEWHERE 子句用于仅显示给定表中匹配的列信息。

我们还可以使用 table_name FROM db_name 语法的替代形式 db_name.tbl_name。因此,以下语句是等效的

SHOW COLUMNS 语句示例

让我们通过各种示例了解此语句在 MySQL 中如何工作。

假设我们在一个示例数据库中有一个名为 student_info 的表,其中包含如下数据

MySQL Show Columns

接下来,如果我们想获取此表的列信息,我们可以使用如下语句

我们将看到以下输出

MySQL Show Columns

如果我们想筛选表的列,我们需要在语句中使用 LIKE 或 WHERE 子句。请参阅下面的查询

此查询仅显示以字母 S 开头的列信息。请参阅以下输出

MySQL Show Columns

如果我们要显示隐藏列信息,我们需要将 FULL 关键字添加到 SHOW COLUMNS 语句中,如下所示

它返回以下输出,显示示例数据库中 student_info 表的所有列信息。

MySQL Show Columns

SHOW COLUMNS 语句为给定表中的每个列提供以下信息

Field:它表示给定表中列的名称。

Type:它表示每个列的数据类型。

Collation:它用于对特定字符集进行排序。这里它表示非二进制值的字符串列,以及其他列的 NULL。只有在使用 FULL 关键字时才会看到此列。

Null:它表示列的可空性。如果列可以存储 NULL 值,则返回 YES。如果列不能存储 NULL 值,则包含 NO 值。

Key:它表示列的索引,如 PRI、UNI 和 MUL。让我们详细了解此字段。

  • 如果我们没有指定任何键,则表示该列未建立索引。否则,在多列中作为辅助列进行索引。
  • 如果列指定为 PRI,则表示该列是 PRIMARY KEY 或多列 PRIMARY KEY 中的一个字段。
  • 如果列指定为 UNI,则表示该列包含 UNIQUE 索引。
  • 如果列指定为 MUL,则表示该列是非唯一索引的第一列,其中我们可以多次使用给定值。
  • 如果列由多个键值指定,则此字段显示优先级最高的键(键优先级按 PRI、UNI 和 MUL 的顺序)。

Default:它表示列的默认值。如果列不包含 DEFAULT 子句或具有显式 NULL 默认值,则它包含 NULL 值。

Extra:它表示与给定列相关的附加信息。此字段在以下情况下非空

  • 如果列指定了 AUTO_INCREMENT 属性,则其值将填充为 auto_increment。
  • 如果列指定了具有 ON UPDATE CURRENT_TIMESTAMP 属性的 TIMESTAMP 或 DATETIME,则其值将填充为 on update CURRENT_TIMESTAMP。
  • 对于生成的列,其值填充为 VIRTUAL GENERATED 或 VIRTUAL STORED。
  • 如果列包含表达式默认值,则其值填充为 DEFAULT_GENERATED。

Privileges:它表示我们对列拥有的权限。只有在使用 FULL 关键字时才会看到此列。

Comment:它表示我们包含在列定义中的注释。只有在使用 FULL 关键字时才会看到此列。

MySQL DESCRIBE 语句

MySQL 中的 DESCRIBE 语句也提供与 SHOW COLUMNS 命令类似的信息。

语法

以下是显示给定表中列信息的语法

在此语法中,DESCRIBEDESC 子句返回相同的结果。

示例

如果我们想显示 students_info 表的列信息,我们可以执行以下语句。

成功执行后,它将给出如下图像的输出

MySQL Show Columns

如何在 MySQL Workbench 中显示列信息?

我们首先启动工具并使用用户名和密码登录,以在 MySQL Workbench 中显示给定表的列信息。现在,我们需要执行以下步骤来显示列信息

1. 转到导航选项卡,然后单击架构菜单,其中包含所有以前创建的数据库。选择您想要的数据库(例如,mstudentdb)。它将弹出以下选项。

MySQL Show Columns

2. 单击,它将显示存储在 mysqltestdb 数据库中的所有表。选择您要显示其列信息的表。然后,将鼠标悬停在该表上,它将显示三个图标。请参阅下图

MySQL Show Columns

3. 单击红色矩形框中显示的图标 (i)。我们应该得到如下屏幕

MySQL Show Columns

4. 最后,单击“”菜单。我们可以看到如下输出的列信息。

MySQL Show Columns
下一主题MySQL 重命名列