在MySQL中按字母顺序获取表列名称?

要按字母顺序获取表列名称,您需要使用ORDER BY。语法如下-

SELECT anyReferenceName.COLUMN_NAME FROM
INFORMATION_SCHEMA.COLUMNS anyReferenceName
WHERE anyReferenceName.TABLE_NAME = ’yourTableName’
ORDER BY anyReferenceName.COLUMN_NAME

首先,我们需要获取所有列,然后需要使用ORDER BY。在上面的查询中,我们使用INFORMATION_SCHEMA.COLUMNS获取所有列。

为了理解上述语法,让我们创建一个表。创建表的查询如下-

mysql> create table ColumnsOrder
   -> (
   -> StudentFirstName varchar(20),
   -> Id int,
   -> StudentAge int,
   -> StudentLastName varchar(20)
   -> );

实现以上语法以按字母顺序获取表列。

情况1-默认情况下,ORDER BY给出升序。

查询如下-

mysql> select ref.column_name from information_schema.columns ref
   -> where ref.table_name = 'ColumnsOrder'
   -> order by ref.column_name;

以下是输出-

+------------------+
| COLUMN_NAME      |
+------------------+
| Id               |
| StudentAge       |
| StudentFirstName |
| StudentLastName  |
+------------------+
4 rows in set (0.13 sec)

情况2-如果要按降序排列,请最后使用DESC命令。 

查询如下-

mysql> select ref.column_name from information_schema.columns ref
   -> where ref.table_name = 'ColumnsOrder'
   -> order by ref.column_name desc;

以下是输出-

+------------------+
| COLUMN_NAME      |
+------------------+
| StudentLastName  |
| StudentFirstName |
| StudentAge       |
| Id               |
+------------------+
4 rows in set (0.00 sec)