Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

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
   -> );
Query OK, 0 rows affected (1.81 sec)

사례 1 -

여기에서 결과는 내림차순입니다. 다음은 MySQL에서 표시 열의 순서를 반환하는 쿼리입니다 -

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)