MySQL 显示列
Table中的列是一系列可以存储文本、数字和图像的单元格。每列为表中的每一行存储一个值。当我们使用 MySQL 服务器时,通常会显示来自特定表的列信息。在本节中,我们将讨论如何在现有表中显示或列出列。
MySQL 提供了两种显示列信息的方式:
- MySQL SHOW COLUMNS 语句
- 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:是数据库的名称,其中包含我们将显示列信息的表。
LIKE或WHERE子句:用于仅显示给定表中匹配的列信息。
我们还可以使用 table_name FROM db_name 语法的替代方案作为 db_name.tbl_name。因此,以下语句是等价的:
SHOW COLUMNS FROM mytable_name FROM mydb_name;
或者
SHOW COLUMNS FROM mydb_name.mytable_name;
二、SHOW COLUMNS 语句示例
让我们了解一下这个语句在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,则表示该列是 PRIMARY KEY 或多列 PRIMARY KEY 中的字段之一。
- 如果列指定为 UNI,则表示该列包含 UNIQUE 索引。
- 如果该列被指定为 MUL,则意味着该列是非唯一索引的第一列,我们可以在其中多次使用给定值。
- 如果该列由多个key-value指定,则该字段显示具有最高优先级的key(key优先级的顺序为PRI、UNI、MUL)。
Default:表示该列的默认值。如果该列不包含 DEFAULT 子句或具有显式 NULL 默认值,则它包含一个 NULL 值。
Extra:表示与给定列相关的附加信息。在以下情况下,该字段不为空:
- 如果使用 AUTO_INCREMENT 属性指定列,则其值用 auto_increment 填充。
- 如果使用具有 ON UPDATE CURRENT_TIMESTAMP 属性的 TIMESTAMP 或 DATETIME 指定列,则在更新 CURRENT_TIMESTAMP 时填充其值。
- 对于生成的列,其值填充为 VIRTUAL GENERATED 或 VIRTUAL STORED。
- 如果列包含表达式默认值,则其值将填充为 DEFAULT_GENERATED。
Privileges:它表示我们对列的权限。只有当我们使用 FULL 关键字时,我们才会看到此列。
Comment:表示我们在列定义中包含的注释。只有当我们使用 FULL 关键字时,我们才会看到此列。
三、MySQL DESCRIBE 语句
MySQL 中的 DESCRIBE 语句也提供类似于 SHOW COLUMNS 命令的信息。
语法
以下是在给定表中显示列信息的语法:
{DESCRIBE | DESC} table_name;
在此语法中,DESCRIBE和DESC子句返回相同的结果。
示例
如果我们想显示students_info表的列信息,我们可以执行下面的语句。
mysql> DESCRIBE students_info;
执行成功后,输出如下图:
四、如何在 MySQL Workbench 中显示列信息?
我们首先启动该工具并使用用户名和密码登录以在 MySQL Workbench 中显示给定表的列信息。现在,我们需要执行以下步骤来显示列信息:
1. 转到导航选项卡并单击Schema菜单,其中所有以前创建的数据库都可用。选择所需的数据库(例如mstudentdb)。它将弹出以下选项。
2. 单击显示存储在mysqltestdb数据库中的所有表的表。选择要显示其列信息的表。然后,鼠标停留在表名上面,它会显示三个图标。见下图:
3. 单击红色矩形框中显示的图标 (i) 。我们应该得到如下界面:
4. 最后,点击“Column”菜单。我们可以看到如下输出的列信息。
热门文章
优秀文章