최초 작성일 : 2023-05-08 | 수정일 : 2023-05-08 | 조회수 : |
MySQL 5.x에서 테이블과 컬럼의 문자 집합(collation)을 일괄적으로 utf8_general_ci로 변경하려면 다음 단계를 참고해보자.
1. 데이터베이스 문자 집합과 정렬 방식 변경
데이터베이스의 기본 문자 집합과 정렬 방식을 변경하려면 다음 SQL 쿼리를 실행한다.
sqlALTER DATABASE your_database_name
CHARACTER SET utf8
COLLATE utf8_general_ci;
your_database_name
을 실제 데이터베이스 이름으로 변경해 준다.
2. 테이블 문자 집합과 정렬 방식 변경
각 테이블의 문자 집합과 정렬 방식을 변경하려면 다음 SQL 쿼리를 실행한다.
sqlALTER TABLE your_table_name
CONVERT TO CHARACTER SET utf8
COLLATE utf8_general_ci;
your_table_name
을 변경하려는 테이블 이름으로 변경해 준다.
이 작업을 데이터베이스 내 모든 테이블에 대해 수행해야 한다.
주의: 변경 작업은 데이터 손실이 발생할 수 있으므로, 작업 전에 데이터베이스 백업을 권장한다.
모든 테이블에 대해 일괄적으로 위 작업을 수행하려면 MySQL 쿼리를 사용하여 동적 쿼리를 작성할 수 있다.
sqlSELECT 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
쿼리가 생성된다.
결과로 나온 쿼리들을 복사하여 일괄 실행하여 모든 테이블의 문자 집합과 정렬 방식을 변경할 수 있다.