MySQL 显示列

2024年03月27日 MySQL 显示列 极客笔记

MySQL 显示列

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

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

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

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

MySQL SHOW COLUMNS 语句

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

语法

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

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

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

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

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

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

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

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

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

SHOW COLUMNS FROM mytable_name FROM mydb_name;
OR,
SHOW COLUMNS FROM mydb_name.mytable_name;

显示列语句示例

让我们通过各种示例来了解这个语句在 MySQL 中的工作原理。

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

接下来,如果我们想要获取这个表格的列信息,我们可以使用以下语句:

mysql> SHOW COLUMNS FROM student_info;

我们将会看到以下输出:

如果我们想要过滤表格的列,我们需要在语句中使用LIKE或的WHERE子句。请参见下面的查询:

mysql> SHOW COLUMNS FROM student_info LIKE 's%';

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

如果我们希望显示隐藏的列信息,我们需要在SHOW COLUMNS语句中添加FULL关键字,如下所示:

mysql> SHOW FULL COLUMNS FROM student_info; 

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

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

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

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

Collation : 用于对特定字符集的顺序进行排序。它指示非二进制值的字符串列,对其他列则指示NULL。只有当使用FULL关键字时,我们才会看到此列。

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

Key : 它指示列的索引情况,可以是PRI、UNI和MUL。让我们详细了解这个字段。

  • 如果我们没有指定任何键,表示该列没有索引。否则,作为多列的次要列索引。
  • 如果列被指定为PRI,则表示该列是主键或多列主键中的一个字段。
  • 如果列被指定为UNI,则表示该列包含唯一索引。
  • 如果列被指定为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命令的信息。

语法

显示给定表中列信息的语法如下:

{DESCRIBE | DESC} table_name;  

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

示例

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

mysql> DESCRIBE students_info;

在成功执行后,它将输出如下图像:

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

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

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

2. 点击 Tables 以显示存储在 mysqltestdb 数据库中的所有表。选择一个要显示列信息的表。然后,将鼠标悬停在该表上,会显示 三个图标 。参见下面的图片:

3. 点击红色矩形框中显示的 图标 (i) 。我们应该看到以下屏幕:

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

本文链接:http://so.lmcjl.com/news/520/

展开阅读全文