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

MySQL 서버의 모든 데이터베이스 기본 문자 집합(Character Set) 확인 방법

서버에 존재하는 모든 MySQL 데이터베이스의 기본 문자 집합(default character set)을 한 번에 확인하고 싶다면, information_schema.SCHEMATA 테이블을 조회하는 것이 가장 간단하고 확실한 방법입니다.

기본 문자 집합 조회 쿼리

아래 쿼리를 실행하면 데이터베이스 이름과 함께 해당 데이터베이스의 기본 문자 집합을 확인할 수 있습니다.

mysql> SELECT SCHEMA_NAME 'Database', default_character_set_name 'charset' FROM information_schema.SCHEMATA;

실행 결과 예시

+--------------------+---------+
| Database           | Charset |
+--------------------+---------+
| information_schema | utf8    |
| gaurav             | latin1  |
| menagerie          | latin1  |
| mysql              | latin1  |
| performance_schema | utf8    |
| sample             | latin1  |
| test               | latin1  |
| tutorial           | latin1  |
+--------------------+---------+
8 rows in set (0.00 sec)

결과 해석

위 결과에서 Database 열은 서버에 생성된 데이터베이스의 이름을, Charset 열은 각 데이터베이스에 설정된 기본 문자 집합을 나타냅니다. 예를 들어 gaurav, sample, tutorial 데이터베이스는 latin1information_schemaperformance_schemautf8로 설정되어 있는 것을 볼 수 있습니다.

특정 데이터베이스만 확인하기

모든 데이터베이스가 아닌 특정 데이터베이스의 문자 집합만 확인하려면 WHERE 절을 추가하면 됩니다.

mysql> SELECT SCHEMA_NAME 'Database', default_character_set_name 'charset' FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'sample';

참고: 정렬 규칙(Collation)까지 함께 확인하기

문자 집합과 함께 기본 정렬 규칙(collation)도 확인하고 싶다면 default_collation_name 열을 추가로 조회하면 더욱 유용합니다.

mysql> SELECT SCHEMA_NAME 'Database', default_character_set_name 'charset', default_collation_name 'collation' FROM information_schema.SCHEMATA;

이 방법은 별도의 외부 도구 없이 SQL 쿼리만으로 서버 전체의 문자 집합 설정을 파악할 수 있어, 인코딩 문제를 진단하거나 데이터베이스 환경을 점검할 때 매우 유용하게 활용됩니다.