http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
한글매뉴얼 5.0  
한글매뉴얼 5.1  
MYSQL 5.1 HA  
사용자매뉴얼  
영문매뉴얼  
최신글
mysql 백업/복구 …
apm 설치 헤메고…
mysql bin로그 갱…
myxql 관련 지원 …
MySQL 5.7에서 프…
 
한글매뉴얼 5.1 > 매뉴얼존 > 한글매뉴얼 5.1
 

10.3.2. 데이터베이스 문자 셋과 콜레션

 

모든 데이터 베이스는 데이터 베이스 문자 셋과 데이터 베이스 콜레션을 가지고 있다. CREATE DATABASE ALTER DATABASE 명령문은 데이터 베이스 문자 셋과 콜레션을 지정하기 위한 옵션 구문을 가지고 있다:

 

CREATE DATABASE db_name                       

    [[DEFAULT] CHARACTER SET charset_name]

    [[DEFAULT] COLLATE collation_name]

 

ALTER DATABASE db_name

    [[DEFAULT] CHARACTER SET charset_name]

    [[DEFAULT] COLLATE collation_name]

키워드 SCHEMADATABASE 대신에 사용할 수 있다.

모든 데이터 베이스 옵션은 데이터 베이스 디렉토리의 db.opt라는 텍스트 파일에 저장된다.

CHARACTER SET COLLATE 구문은 동일 MySQL 서버에서 서로 다른 문자 셋과 콜레션을 가지는 데이터 베이스를 생성할 수 있도록 한다.

 

예문:

 

CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;

MySQL은 아래의 방식을 사용해서 데이터 베이스 문자 셋과 데이터 베이스 콜레션을 선택한다:

  • 만일 CHARACTER SET X COLLATE Y 를 모두 지정한다면, 문자 셋은 X 가 되고 콜레션은 Y가 된다.
  • 만일 CHARACTER SET X는 지정하였지만 COLLATE를 지정하지 않았다면, 문자 셋은 X 가 되고 콜레션은 디폴트를 사용한다.
  • 만일 COLLATE Y 는 지정하였지만 CHARACTER SET을 지정하지 않았다면, 문자 셋은 Y 와 관련된 것이 되고 콜레션은 Y가 된다.
  • 아무것도 지정을 하지 않으면, 서버의 문자 셋과 콜레션을 사용하게 된다.

만일 테이블 문자 셋과 콜레션을 CREATE TABLE 명령문에서 지정하지 않았다면, 데이터 베이스 문자 셋과 콜레션을 디폴트로 사용하게 된다.

 

디폴트 데이터 베이스에 대한 문자 셋과 콜레션은 character_set_database collation_database 시스템 변수 값을 통해서 알 수가 있다. 서버는 디폴트 데이터 베이스가 변경될 때마다 이 변수 값을 설정한다. 만일 디폴트 데이터 베이스가 존재하지 않는다면, 이에 대응하는 서버-레벨 시스템 변수 character_set_server collation_server 값이 이들 변수 값으로 사용된다.

상위
10.3.2. 데이터베이스 문자 셋과 …
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.