kjh00n의 기록저장소

문자 인코딩 (Character Encoding) 본문

DB

문자 인코딩 (Character Encoding)

kjh00n 2024. 11. 21. 10:02

모든 문자 집합의 목록을 확인

show character set;

 

COLLATION

● 특정 문자셋 저장, 표현되어 있는 데이터를 검색, 정렬하는 등 처리해야 할 때 사용하는 방식을 지정

● 특정 문자셋에 의해서 데이터베이스에 저장된 값들을 검색하거나, 정렬하거나 등의 작업을 위해 문자들간에 비교할 때 사용하는 규칙의 집합

● 문자를 비교하는 경우(특히 알파벳을 비교하는 경우) 대소문자를 구별할지, 구별하지 말지에 따라 결과가 다르다.

● 대소문자를 구별하는 방식을 binary형식

● 대소문자를 구별하지 않는 방식을 case insensitive 방식

 

현재 시스템에서 지원하는 collation의 목록 확인

→ show collation;

 

현재 설정되어 있는 인코딩 방식을 자세히 확인

→ show variables like 'c%';

 

원래 DB생성을 할 때 문자셋을 지정 → 생략하는 경우에는 기본 문자셋 자동 설정된다

Table을 생성할 때 문자셋을 지정 → 생략하는 경우에는 DB의 문자셋 자동 설정된다

 

DB의 정보 확인

→ show create database [DB명];

 

Table의 정보 확인

→ show create table [Table명];

특정 DB의 특정 Table의 인코딩 방식을 확인하고 싶은 경우

→ show create table [DB명].[Table명];

 

기본 패키지에 적힌 Character들을 변경하고 싶은 경우

/etc/my.cnf에서 character set을 변경할 수 있다.

 

DB를 생성시 인코딩 방식을 지정

→ create database [DB명] default character set [문자셋] (collate 콜레이션);

 

이미 생성된 DB의 인코딩 방식을 변경

→ alter database [DB명] default character set [문자셋] (collate 콜레이션);

※ DB의 문자셋을 변경해도 하위에 있는 Table까지는 변경되지 않는다.

 

 

Table을 생성시 인코딩 방식을 지정

→ create table [Table명] (컬럼명 데이터타입 옵션 제약조건) default character set [문자셋] (collate 콜레이션);

 

이미 생성된 Table의 인코딩 방식을 변경 (추천 X)

→ alter table [Table명] default character set [문자셋];

→ alter table [Table명] convert to character set [문자셋];

 

'DB' 카테고리의 다른 글

데이터베이스 엔진 (Storage Engine)  (0) 2024.11.21
데이터 사전, Schema  (0) 2024.11.21
실습3  (0) 2024.11.20
SQL 정의  (0) 2024.11.20
실습2  (0) 2024.11.20