MySQL SHOW COLUMNS和DESCRIBE:列出表中的所有列
时间:2019-11-20 08:52:35 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用DESCRIBE语句和MySQL SHOW COLUMNS命令显示表的列。
使用DESCRIBE语句
要显示表的所有列,请使用以下步骤:
登录到MySQL数据库服务器。
切换到特定的数据库。
使用DESCRIBE语句。
下面的示例演示如何在classicmodels数据库中显示orders表的列。
步骤1.登录到MySQL数据库。
>mysql -u root -p Enter password: ********** mysql>
步骤2.发出USE命令以将数据库切换到classicmodels:
mysql> USE classicmodels; Database changed mysql>
步骤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)
实际上,您使用的是DESC语句的简写形式的DESC语句。
例如,以下语句等效于上面的DESCRIBE:
DESC orders;
MySQL SHOW COLUMNS命令
获取表中列列表的更灵活的方法是使用MySQL SHOW COLUMNS命令。
SHOW COLUMNS FROM table_name;
要显示表的列,请在SHOW COLUMNS语句的FROM子句中指定表名。
要显示不是当前数据库的数据库中表的列,请使用以下形式:
SHOW COLUMNS FROM database_name.table_name;
要么
SHOW COLUMNS FROM table_name IN database_name;
例如,要获取订单表的列,请使用SHOW COLUMNS语句,如下所示:
SHOW COLUMNS FROM orders;
如您所见,此SHOW COLUMNS命令的结果与DESC语句的结果相同。
要获取有关该列的更多信息,请将FULL关键字添加到SHOW COLUMNS命令,如下所示:
SHOW FULL COLUMNS FROM table_name;
例如,以下语句列出了classicmodels数据库中的付款表的所有列。
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)
如您所见,SHOW FULL COLUMNS命令将排序规则,特权和注释列添加到结果集中。
SHOW COLUMNS命令允许您使用LIKE运算符或WHERE子句来过滤表的列:
SHOW COLUMNS FROM table_name LIKE pattern; SHOW COLUMNS FROM table_name WHERE expression;
例如,要仅显示以字母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)
在本教程中,您学习了如何使用MySQL SHOW COLUMNS命令和DESC语句显示表的列。