MySQL은 UTF-8, GBK, ISO-8859-1 등과 같은 여러 문자 집합을 지원하는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. 문자 집합에 따라 데이터를 저장하고 처리할 때 효과가 달라집니다. 따라서 MySQL 데이터베이스를 사용할 때는 실제 상황에 맞는 적절한 문자 집합을 선택해야 합니다.
데이터베이스와 테이블을 생성할 때 문자셋을 지정할 수 있는데, 테이블을 생성한 후 문자셋을 수정해야 한다면 어떻게 될까요? 다음으로 MySQL 데이터베이스와 테이블의 캐릭터셋을 수정하는 방법을 소개하겠습니다.
데이터베이스 문자 집합을 수정하려면 두 가지 방법이 있습니다. 하나는 MySQL 구성 파일의 기본 문자 집합을 수정하는 것이고, 다른 하나는 기존 데이터베이스를 수정하는 것입니다. 이 두 가지 방법을 아래에 소개합니다.
Windows 시스템에서 my.ini 파일은 일반적으로 Linux 시스템의 C:Program FilesMySQLMySQL Server 5.7my.ini와 같은 MySQL 설치 디렉터리에 있으며 my.cnf 파일은 일반적으로 /etc/mysql에 있습니다. /my.cnf.
my.cnf 또는 my.ini 파일에서 아래와 같이 [mysqld] 노드 아래에 문자 세트 구성 항목을 찾을 수 있습니다.
[mysqld] character-set-server=utf8
character-set-server 값을 GBK 등 필수 문자 집합으로 수정한 후 변경 사항을 저장합니다.
[mysqld] character-set-server=gbk
구성 파일을 수정한 후 새 문자 집합을 적용하려면 MySQL 서비스를 다시 시작해야 합니다.
명령줄 모드에서 다음 명령을 입력하고 Enter 키를 누른 후 MySQL 관리자 계정과 비밀번호를 입력하세요.
mysql -u root -p
MySQL 클라이언트에 접속한 후 다음 명령을 통해 현재 데이터베이스 문자 집합을 볼 수 있습니다.
show variables like '%character%';
MySQL 클라이언트에서 다음 SQL 문을 실행하여 데이터베이스 문자 집합을 수정합니다. 여기서database_name
은 수정해야 하는 데이터베이스 이름이고charset_name
은 필수입니다. 문자 집합.database_name
为需要修改的数据库名,charset_name
为所需的字符集。
alter database database_name character set charset_name;
比如,若要将名为my_database
的数据库的字符集修改为 GBK,可以执行以下 SQL 语句:
alter database my_database character set gbk;
执行完修改语句后,可以再次运行以下命令查看当前数据库字符集,确认修改是否生效:
show variables like '%character%';
当我们需要修改表的字符集时,可以通过以下步骤实现:
与修改数据库字符集时相同,先进入 MySQL 客户端。
进入 MySQL 客户端后,可以通过以下命令查看当前表的字符集,其中table_name
为需要查看的表名:
show create table table_name\G
此命令可在 MySQL 客户端中输出表结构定义,character set
表示表的字符集。
在 MySQL 客户端中执行以下 SQL 语句,即可将表的字符集修改为所需的字符集,其中table_name
为需要修改的表名,column_name
为需要修改字符集的字段名,charset_name
为所需的字符集。
alter table table_name modify column_name charactor set charset_name;
举个例子,如果我们要将名为my_table
的表中的name
字段的字符集修改为 GBK,可以执行以下 SQL 语句:
alter table my_table modify name charactor set gbk;
执行这句 SQL 语句后,my_table
表中的name
字段的字符集就被修改为了 GBK。
修改表的字符集后,可以再次运行第二步中的show create table table_nameG
rrreee
my_database
라는 데이터베이스의 문자 집합을 GBK로 변경하려면 다음 SQL 문을 실행하면 됩니다.
rrreee
수정이 성공했는지 확인하세요.
수정 문을 실행한 후 다음 명령을 다시 실행하여 현재 데이터베이스 문자 집합을 확인하고 수정 사항이 적용되었는지 확인할 수 있습니다. rrreeeModify the table char set테이블 문자를 수정해야 하는 경우 설정하면 다음 단계를 통해 수행할 수 있습니다. MySQL 클라이언트를 입력하세요. 데이터베이스 캐릭터셋 수정과 동일하게 먼저 MySQL 클라이언트에 들어가주세요. 현재 테이블의 문자 집합을 봅니다. MySQL 클라이언트에 진입한 후 다음 명령을 통해 현재 테이블의 문자 집합을 볼 수 있습니다. 여기서table_name
은 보려는 테이블의 이름입니다. rrreee이 명령은 MySQL 클라이언트 정의에 테이블 구조를 출력할 수 있으며,
문자 세트
는 테이블의 문자 세트를 나타냅니다. 테이블의 문자 집합을 수정합니다. MySQL 클라이언트에서 다음 SQL 문을 실행하여 테이블의 문자 집합을 필수 문자 집합으로 수정합니다. 여기서
table_name
은 수정해야 하는 테이블 이름이고
column_name입니다.
는 수정해야 하는 문자 집합의 필드 이름이고,
charset_name
은 필수 문자 집합입니다. rrreee예를 들어,
my_table
이라는 테이블에 있는
name
필드의 문자 집합을 GBK로 변경하려면 다음 SQL 문을 실행할 수 있습니다. rrreee 이 SQL 문을 실행하면
my_table
테이블에 있는
name
필드의 문자 집합이 GBK로 수정됩니다. 수정이 성공했는지 확인하세요. 테이블의 문자 집합을 수정한 후 두 번째 단계에서
show create table table_nameG
명령을 다시 실행하여 수정 사항이 적용되는지 확인할 수 있습니다. 위에 소개된 방법 외에도 테이블 구조 파일 수정, 트랜스코딩 도구 사용 등 문자 집합을 수정하는 다른 방법이 있습니다. 일반적으로 구성 파일이나 SQL 문을 통해 문자 집합을 수정하는 것은 비교적 간단하고 일반적인 방법이므로 자신에게 맞는 방법을 선택하면 됩니다. 요약하자면, MySQL 데이터베이스와 테이블의 문자 집합을 수정하는 것은 비교적 간단합니다. 적절한 방법을 선택하기만 하면 문자 집합을 빠르게 수정할 수 있습니다. 단, 캐릭터 셋을 수정하면 기존 데이터는 물론 향후 데이터까지 영향을 미치게 되므로, 데이터베이스와 테이블에 이미 데이터가 존재하는 경우에는 반드시 데이터를 백업한 후 수정하시기 바랍니다.
위 내용은 mysql 수정 문자 집합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!