MySQL 显示表格信息
DESCRIBE
意味着详细展示信息。由于我们在MySQL中有表,所以我们将使用DESCRIBE
命令来显示我们的表的结构,例如列名、列名的约束等。DESC
是DESCRIBE
命令的简写形式。DESCRIBE
和DESC
命令是等效的,并且区分大小写。
语法
以下是显示表结构的语法:
{DESCRIBE | DESC} table_name;
我们可以通过以下步骤来显示表的所有列: :
步骤1: 登录到MySQL数据库服务器。
步骤2: 切换到特定的数据库。
步骤3: 执行DESCRIBE语句。
让我们通过一个示例来理解,在所选数据库中如何显示表的列。
登录到MySQL数据库
第一步是使用 用户名 和 密码 登录到数据库服务器。我们应该看到如下图像的输出:
>mysql -u root -p
Enter password: **********
mysql>
切换到特定数据库
下一步是通过以下查询打开一个特定的数据库,以便显示表信息。在执行查询后,我们应该看到以下输出:
mysql> USE mysqltestdb;
执行DESCRIBE语句
这是显示表信息的最后一步。在执行DESCRIBE语句之前,我们可以选择使用 SHOW TABLES 语句显示存储在我们选择的数据库中的所有表:
mysql> SHOW TABLES;
例如 ,如果我们想显示一个 客户表的结构 ,执行以下语句。执行成功后,将输出以下图片:
mysql> DESCRIBE customer;
我们还可以使用DESC语句进行练习,它是DESCRIBE命令的简写。请参见下面的输出:
如何在MySQL Workbench中显示表格信息?
要在MySQL Workbench中显示表格的列信息,我们首先需要启动Workbench工具并使用用户名和密码登录到MySQL数据库服务器。我们将得到以下屏幕:
现在执行以下步骤以显示表信息:
1. 转到 导航标签 并单击 模式菜单 。在此处,我们可以看到所有先前创建的数据库。在模式菜单下选择任意数据库,例如 mysqltestdb 。会弹出多个选项,如下图所示。
2. 接下来,点击显示mysqltestdb数据库中存储的所有表的“ Tables ”。选择一个你想要显示列信息的表。然后,将鼠标悬停在该表上,它将显示 三个图标 。请参考下面的图片:
现在,点击红色矩形框中显示的 图标(i) 。它将显示以下图片:
最终,点击“ Columns ”菜单以显示表格结构。
MySQL显示列指令
MySQL还允许使用SHOW COLUMNS指令来显示表结构。这是一种更灵活的方式来获取表的列信息。
语法:
下面是SHOW COLUMNS指令的语法:
mysql> SHOW COLUMNS FROM table_name;
例如 ,如果我们执行下面的查询,我们将获得特定数据库中表的所有列信息:
mysql> SHOW COLUMNS FROM customer;
如果我们想要展示来自另一个数据库的表的 列信息 ,或者当前数据库中没有的表,我们可以使用以下查询:
mysql> SHOW COLUMNS FROM database_name.table_name;
OR
mysql> SHOW COLUMNS FROM table_name IN database_name;
在下面的图片中,我们可以看到我们使用了mysqltestdb数据库。但是我们在没有切换到当前数据库的情况下显示了另一个数据库中表的列信息。
如果我们想显示更多的列信息,我们需要在SHOW TABLES语句中加入 FULL 关键字,如下所示:
mysql> SHOW FULL COLUMNS FROM table_name;
例如 ,以下SQL查询列出了 student_info表 在 mystudentdb数据库 中的所有列:
mysql> SHOW FULL COLUMNS FROM student_info;
执行后,我们可以看到该命令将 collation、privileges、default 和 comment 列添加到结果集中。
MySQL EXPLAIN
EXPLAIN关键字是DESCRIBE语句的同义词,用于获取有关MySQL如何执行查询的信息。它可以与INSERT、SELECT、DELETE、UPDATE和REPLACE查询一起使用。从MySQL 8.0.19及更高版本开始,它还可以与TABLE语句一起使用。当我们在查询中使用此关键字时,它将处理语句并提供有关表如何连接、表的顺序、估计的分区和行数的信息。
示例
如果我们想要显示一个SELECT语句的执行计划,我们可以使用以下查询:
mysql> EXPLAIN SELECT * FROM customer;
输出:
此查询会产生以下信息: