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

MySQL 테이블 컬럼의 문자셋(Character Set)을 확인하는 쿼리 방법

MySQL 테이블 컬럼의 문자셋 확인하기

MySQL에서 특정 테이블의 컬럼이 어떤 문자셋(Character Set)으로 설정되어 있는지 궁금할 때가 있습니다. 이때는 information_schema.columns 뷰를 조회하면 간단하게 확인할 수 있습니다. 다음 쿼리를 사용하면 됩니다.

mysql> Select Column_name 'Column', Character_set_name 'Charset' FROM
       information_schema.columns where table_schema = 'db_name' and
       table_name ='table_name';

쿼리 구성 요소 살펴보기

  • Column_name: 테이블 내 컬럼의 이름을 반환합니다.
  • Character_set_name: 해당 컬럼에 적용된 문자셋 정보를 반환합니다.
  • table_schema: 데이터베이스 이름 조건을 지정합니다. 'db_name' 부분에 실제 데이터베이스명을 입력하세요.
  • table_name: 조회할 테이블 이름 조건을 지정합니다.

실행 예제

예를 들어, 'Sample'이라는 데이터베이스에 있는 'test_char_set' 테이블의 컬럼 이름과 각 컬럼의 문자셋을 함께 조회하려면 아래와 같이 쿼리를 작성합니다.

mysql> Select Column_name 'Column', Character_set_name 'Charset' FROM
       information_schema.columns where table_schema = 'Sample' and
       table_name ='test_char_set';

+--------+---------+
| Column | Charset |
+--------+---------+
| Name   | latin1  |
| Field  | latin1  |
+--------+---------+
2 rows in set (0.03 sec)

결과를 보면 'Name'과 'Field' 두 컬럼 모두 latin1 문자셋을 사용하고 있음을 알 수 있습니다.

참고 사항

컬럼 단위가 아니라 테이블 전체의 기본 문자셋을 확인하고 싶다면 information_schema.tables의 TABLE_COLLATION 값을 조회하거나, SHOW CREATE TABLE table_name; 명령어를 활용하는 것도 좋은 방법입니다. 한글 데이터를 다루는 경우에는 일반적으로 utf8mb4 문자셋을 사용하는 것이 권장됩니다.