kjh00n의 기록저장소
문자 인코딩 (Character Encoding) 본문
모든 문자 집합의 목록을 확인
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 |