MySQL SHOW COLUMNS的退货顺序?

要返回MySQL SHOW COLUMNS的顺序,您需要使用ORDER BY子句。语法如下-

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = ‘yourTableName’
AND column_name LIKE 'yourStartColumnName%'
ORDER BY column_name DESC;

让我们在数据库TEST中创建一个表。创建表的查询如下-

mysql> create table OrderByColumnName
   -> (
   -> StudentId int,
   -> StudentFirstName varchar(10),
   -> StudentLastName varchar(10),
   -> StudentAddress varchar(20), 
   -> StudentAge int,
   -> StudentMarks int
   -> );

情况1-

这样,结果按降序排列。这是查询以返回MySQL中show列的顺序-

mysql> SELECT COLUMN_NAME
   -> FROM INFORMATION_SCHEMA.COLUMNS
   -> WHERE table_name = 'OrderByColumnName'
   -> AND column_name LIKE 'student%'
   -> ORDER BY column_name DESC;

以下是输出-

+------------------+
| COLUMN_NAME      |
+------------------+
| StudentMarks     |
| StudentLastName  |
| StudentId        |
| StudentFirstName |
| StudentAge       |
| StudentAddress   |
+------------------+
6 rows in set (0.00 sec)

情况2-如果您希望结果按升序排列,则无需编写ASC关键字,因为默认情况下结果将按升序排列。

查询如下-

mysql> SELECT COLUMN_NAME
   -> FROM INFORMATION_SCHEMA.COLUMNS
   -> WHERE table_name = 'OrderByColumnName' 
   -> AND column_name LIKE 'student%'
   -> ORDER BY column_name;

以下是输出-

+------------------+
| COLUMN_NAME      |
+------------------+
| StudentAddress   |
| StudentAge       |
| StudentFirstName |
| StudentId        |
| StudentLastName  |
| StudentMarks     |
+------------------+
6 rows in set (0.00 sec)