MySQL SHOW COLUMNS and DESCRIBE: List All Columns in a Table

摘要:在本教程中,您将学习如何使用 DESCRIBE 语句和 MySQL SHOW COLUMNS 命令来显示表的列。

使用 DESCRIBE 语句

MySQL SHOW COLUMNS

要显示表的所有列,请使用以下步骤:

  1. 登录MySQL数据库服务器。
  2. 切换到特定的数据库。
  3. 使用DESCRIBE语句。

以下示例演示如何显示classicmodels数据库中的orders表的列。

步骤1 。登录MySQL数据库。

>mysql -u root -p
Enter password: **********
mysql>
Code language: SQL (Structured Query Language) (sql)

步骤2 。发出USE命令以切换到classicmodels数据库:

mysql> USE classicmodels;
Database changed
mysql>
Code language: SQL (Structured Query Language) (sql)

步骤3 。使用DESCRIBE语句。

mysql> DESCRIBE orders;
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| orderNumber    | int(11)     | NO   | PRI | NULL    |       |
| orderDate      | date        | NO   |     | NULL    |       |
| requiredDate   | date        | NO   |     | NULL    |       |
| shippedDate    | date        | YES  |     | NULL    |       |
| status         | varchar(15) | NO   |     | NULL    |       |
| comments       | text        | YES  |     | NULL    |       |
| customerNumber | int(11)     | NO   | MUL | NULL    |       |
+----------------+-------------+------+-----+---------+-------+
7 rows in set (0.01 sec)
Code language: SQL (Structured Query Language) (sql)

在实践中,您使用DESC语句,它是DESCRIBE语句的简写。例如,以下语句与上面的DESCRIBE等效:

DESC orders;
Code language: SQL (Structured Query Language) (sql)

MySQL 显示列命令

获取表中列的列表的更灵活的方法是使用 MySQL SHOW COLUMNS命令。

SHOW COLUMNS FROM table_name;
Code language: SQL (Structured Query Language) (sql)

要显示表的列,请在SHOW COLUMNS语句的FROM子句中指定表名。要显示非当前数据库中的表的列,请使用以下形式:

SHOW COLUMNS FROM database_name.table_name;Code language: SQL (Structured Query Language) (sql)

或者

SHOW COLUMNS FROM table_name IN database_name;Code language: SQL (Structured Query Language) (sql)

例如,要获取orders表的列,请使用SHOW COLUMNS语句,如下所示:

SHOW COLUMNS FROM orders;
Code language: SQL (Structured Query Language) (sql)

正如您所看到的,此SHOW COLUMNS命令的结果与DESC语句的结果相同。

要获取有关列的更多信息,请将FULL关键字添加到SHOW COLUMNS命令,如下所示:

SHOW FULL COLUMNS FROM table_name;
Code language: SQL (Structured Query Language) (sql)

例如,以下语句列出classicmodels数据库中 payment 表的所有列。

mysql> SHOW FULL COLUMNS FROM payments \G;
*************************** 1. row ***************************
     Field: customerNumber
      Type: int(11)
 Collation: NULL
      Null: NO
       Key: PRI
   Default: NULL
     Extra:
Privileges: select,insert,update,references
   Comment:
*************************** 2. row ***************************
     Field: checkNumber
      Type: varchar(50)
 Collation: latin1_swedish_ci
      Null: NO
       Key: PRI
   Default: NULL
     Extra:
Privileges: select,insert,update,references
   Comment:
*************************** 3. row ***************************
     Field: paymentDate
      Type: date
 Collation: NULL
      Null: NO
       Key:
   Default: NULL
     Extra:
Privileges: select,insert,update,references
   Comment:
*************************** 4. row ***************************
     Field: amount
      Type: decimal(10,2)
 Collation: NULL
      Null: NO
       Key:
   Default: NULL
     Extra:
Privileges: select,insert,update,references
   Comment:
4 rows in set (0.01 sec)
Code language: SQL (Structured Query Language) (sql)

正如您所看到的, SHOW FULL COLUMNS命令将collationprivilegescomment列添加到结果集中。

SHOW COLUMNS命令允许您使用LIKE运算符或WHERE子句过滤表的列:

SHOW COLUMNS FROM table_name LIKE pattern;

SHOW COLUMNS FROM table_name WHERE expression;
Code language: SQL (Structured Query Language) (sql)

例如,要仅显示以字母c开头的列,请使用LIKE运算符,如下所示:

mysql> SHOW COLUMNS FROM payments LIKE 'c%';
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| customerNumber | int(11)     | NO   | PRI | NULL    |       |
| checkNumber    | varchar(50) | NO   | PRI | NULL    |       |
+----------------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
Code language: SQL (Structured Query Language) (sql)

在本教程中,您学习了如何使用 MySQL SHOW COLUMNS命令和DESC语句来显示表的列。

本教程有帮助吗?