MySQL 5.x에서 테이블과 컬럼의 문자 집합(collation)을 일괄적으로 utf8_general_ci로 변경하는 방법


MySQL 5.x에서 테이블과 컬럼의 문자 집합(collation)을 일괄적으로 utf8_general_ci로 변경하는 방법




최초 작성일 : 2023-05-08 | 수정일 : 2023-05-08 | 조회수 :

MySQL 5.x에서 테이블과 컬럼의 문자 집합(collation)을 일괄적으로 utf8_general_ci로 변경하려면 다음 단계를 참고해보자.

1. 데이터베이스 문자 집합과 정렬 방식 변경

데이터베이스의 기본 문자 집합과 정렬 방식을 변경하려면 다음 SQL 쿼리를 실행한다.

sql
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

your_database_name을 실제 데이터베이스 이름으로 변경해 준다.

2. 테이블 문자 집합과 정렬 방식 변경

각 테이블의 문자 집합과 정렬 방식을 변경하려면 다음 SQL 쿼리를 실행한다.

sql
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

your_table_name을 변경하려는 테이블 이름으로 변경해 준다.
이 작업을 데이터베이스 내 모든 테이블에 대해 수행해야 한다.

주의: 변경 작업은 데이터 손실이 발생할 수 있으므로, 작업 전에 데이터베이스 백업을 권장한다.

모든 테이블에 대해 일괄적으로 위 작업을 수행하려면 MySQL 쿼리를 사용하여 동적 쿼리를 작성할 수 있다.

sql
SELECT CONCAT('ALTER TABLE `', table_name, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') AS my_query FROM information_schema.TABLES WHERE table_schema = 'your_database_name' AND table_type = 'BASE TABLE';

이 쿼리를 실행하면, 데이터베이스 내의 모든 테이블에 대해 ALTER TABLE 쿼리가 생성된다.
결과로 나온 쿼리들을 복사하여 일괄 실행하여 모든 테이블의 문자 집합과 정렬 방식을 변경할 수 있다.

닉네임:
댓글내용: