摘要:在本教程中,您将学习如何使用 DESCRIBE 语句和 MySQL SHOW COLUMNS 命令来显示表的列。
使用 DESCRIBE 语句
要显示表的所有列,请使用以下步骤:
- 登录MySQL数据库服务器。
- 切换到特定的数据库。
- 使用
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
命令将collation
、 privileges
和comment
列添加到结果集中。
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
语句来显示表的列。