Mysql 简明教程

MySQL - Show Columns

MySQL Show Columns Statement

要检索表的全部信息,我们使用 DESCRIBE、DESC 或 SHOW COLUMNS 语句。

MySQL 的所有这些语句都可用于检索/显示表的所有列的描述信息,因为它们都检索相同的结果集。

获取列信息在多种情况下很有用,例如根据列数据类型向表中插入值、更新或删除列,或者只是简单地了解表的结构。

在本章中,让我们详细了解如何使用 SHOW COLUMNS 语句。

Syntax

以下是 MySQL SHOW COLUMNS 语句的语法:

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

Example

我们首先使用以下查询创建名为 TUTORIALS 的数据库:

CREATE DATABASE TUTORIALS;

执行以下语句以切换至 TUTORIALS 数据库:

USE TUTORIALS;

在以下查询中,我们使用以下 CREATE TABLE 语句创建名为 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

现在,我们使用 SHOW COLUMNS 语句检索有关 CUSTOMERS 表的列的信息:

SHOW COLUMNS FROM CUSTOMERS;

Output

下面是 CUSTOMERS 表中列的信息 -

Example

我们也可以使用 IN clause 来代替 FROM,如下所示 -

SHOW COLUMNS IN CUSTOMERS;

Output

正如我们看到的输出,它与之前的输出完全相同。

Example

我们可以指定 the name of the database 以及表名,如下所示 -

SHOW COLUMNS IN CUSTOMERS FROM TUTORIALS;

Output

以下是 TUTORIALS 数据库中 CUSTOMERS 表中列的信息。

Example

我们可以将 COLUMNS 子句替换为 FIELDS ,并获得相同的结果 -

SHOW FIELDS IN CUSTOMERS;

Output

正如我们看到的输出,我们得到了与 COLUMNS 子句相同的结果。

The LIKE clause

在 MySQL 中,使用 LIKE 子句,您可以指定一个模式来检索关于特定列的信息。

Example

下面的查询检索从字母 "P" 开始的 CUSTOMERS 表中的列名。

SHOW COLUMNS FROM CUSTOMERS LIKE 'N%';

Output

执行上述查询将产生以下输出:

The WHERE clause

我们可以使用 SHOW COLUMNS 语句的 MySQL WHERE 子句来检索与指定条件匹配的列的信息。

Example

在下面的示例中,我们使用 WHERE 子句来检索类型是 int 的列。

SHOW COLUMNS FROM CUSTOMERS WHERE Type= 'int';

Output

执行上述查询将产生以下输出:

The FULL clause

通常,SHOW COLUMNS 语句提供的信息包含字段类型、是否可以为 null、键、默认值以及一些额外的详细信息。如果你使用全子句 details,将添加校对、权限和注释。

Example

在下面的示例中,我们使用带有 SHOW COLUMNS 的 FULL 子句来检索 CUSTOMERS 表的额外详细信息 -

SHOW FULL COLUMNS IN CUSTOMERS FROM tutorials;

执行上述查询将产生以下输出:

Showing Columns of a table Using a Client Program

除了使用 MySQL 查询显示 MySQL 数据库中表的列之外,我们还可以使用客户端程序来执行 SHOW COLUMNS 操作。

Syntax

以下是在各种编程语言中显示 MySQL 表的列的语法 -

Example

以下是这些程序 −