Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 테이블 컬럼 이름을 알파벳 순서로 조회하는 방법

MySQL에서 컬럼 이름을 알파벳 순서로 가져오기

MySQL에서 테이블의 컬럼 이름을 알파벳 순서로 조회하려면 ORDER BY 절을 사용해야 합니다. 기본 문법은 다음과 같습니다.

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

먼저 INFORMATION_SCHEMA.COLUMNS를 사용하여 테이블의 모든 컬럼을 조회한 뒤, ORDER BY로 정렬하는 방식입니다. INFORMATION_SCHEMA는 MySQL이 데이터베이스의 메타데이터(테이블, 컬럼, 인덱스 등) 정보를 저장해 두는 시스템 스키마이므로, 별도의 권한 설정 없이도 컬럼 정보를 손쉽게 확인할 수 있습니다.

예제 테이블 생성

문법을 직접 확인해 보기 위해 예제 테이블을 먼저 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table ColumnsOrder
-> (
-> StudentFirstName varchar(20),
-> Id int,
-> StudentAge int,
-> StudentLastName varchar(20)
-> );
Query OK, 0 rows affected (0.90 sec)

위 테이블은 컬럼이 알파벳 순서가 아닌 상태로 정의되어 있으므로, 조회 결과가 어떻게 정렬되는지 확인하기에 적합합니다.

Case 1: 오름차순 정렬 (기본값)

ORDER BY는 기본적으로 오름차순(ASC)으로 정렬합니다. 따라서 별도의 옵션 없이 쿼리를 작성하면 컬럼 이름이 알파벳 순서로 출력됩니다.

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)

결과를 보면 Id, StudentAge, StudentFirstName, StudentLastName 순으로 알파벳 오름차순 정렬된 것을 확인할 수 있습니다.

Case 2: 내림차순 정렬

컬럼 이름을 알파벳 역순으로 조회하고 싶다면 ORDER BY 절 마지막에 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)

정리

MySQL에서 테이블 컬럼 이름을 정렬된 형태로 조회하는 핵심은 INFORMATION_SCHEMA.COLUMNS와 ORDER BY의 조합입니다. 기본값인 오름차순(ASC)은 알파벳 순서를, DESC 키워드는 역순 정렬을 제공하므로 상황에 맞게 활용하면 됩니다. 참고로 특정 데이터베이스의 컬럼만 조회하고 싶다면 WHERE 절에 ref.table_schema = '데이터베이스명' 조건을 함께 추가하는 것이 좋습니다.