• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 1. 문자 세트 지원
    1. 일반 문자 집합 및 데이터 정렬
    2. MySQL에서의 문자 셋과 콜레션
    3. 문자 셋과 콜레션 지정
    1. 서버 문자 집합 및 데이터 정렬
    2. 데이터베이스 문자 집합 및 데이터 정렬
    3. 테이블 문자 집합 및 데이터 정렬
    4. 컬럼 문자 집합 및 데이터 정렬
    5. 문자열 리터럴 문자 집합 및 데이터 정렬
    6. 각국 캐릭터 세트
    7. 문자 셋과 콜레션 할당의 예
    8. 다른 DBMS와의 호환성
    4. 연결 문자 집합 및 데이터 정렬
    5. 응용 프로그램의 문자 집합 및 정렬 순서 구성
    6. 오류 메시지의 문자 세트
    7. 데이터 정렬 문제
    8. 문자열의 레퍼토리
    9. 문자 세트 지원의 영향을받는 연산
    10. Unicode 지원
    11. 이전 Unicode 지원에서 현재 Unicode 지원으로 업그레이드
    12. 메타 데이터에 UTF-8
    13. 컬럼 문자 집합 변환
    14. MySQL에서 지원되는 문자셋과 콜레션
    2. 오류 메시지 언어 설정
    3. 문자 세트 추가
    4. 문자 세트에 데이터 정렬 추가
    5. 문자 세트 구성
    6. MySQL Server에서 시간대 지원
    7. MySQL Server의 로케일 지원
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

10.1.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 ]

SCHEMA 키워드는 DATABASE 대신 사용할 수 있습니다.

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

CHARACTER SET 과 COLLATE 절을 사용하면 문자 셋과 콜레 션이 다른 여러 데이터베이스를 동일한 MySQL Server에 만들 수 있습니다.

예 :

 CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;

MySQL은 데이터베이스 문자 집합 및 데이터베이스 데이터 정렬을 다음과 같이 선택됩니다.

  • CHARACTER SET X 와 COLLATE Y 가 모두 지정된 경우 문자 집합 X 와 데이터 정렬 Y 가 사용됩니다.

  • CHARACTER SET X 는 지정되어 있지만 COLLATE 는 지정되어 있지 않으면 문자 집합 X 와 기본 데이터 정렬이 사용됩니다. 각 문자 집합의 기본 데이터 정렬을 확인하려면 SHOW COLLATION 명령문을 사용합니다.

  • COLLATE Y 는 지정되어 있지만 CHARACTER SET 는 지정되어 있지 않은 경우, Y 에 관련된 캐릭터 셋과 콜레 션 Y 가 사용됩니다.

  • 그렇지 않은 경우는 서버 문자 집합 및 서버 데이터 정렬이 사용됩니다.

기본 데이터베이스의 문자 셋과 콜레 션은 character_set_database 및 collation_database 시스템 변수에서 확인할 수 있습니다. 기본 데이터베이스가 변경 될 때마다 서버는 이러한 변수를 설정합니다. 기본 데이터베이스가없는 경우, 변수는 character_set_server 및 collation_server 는 해당 서버 수준의 시스템 변수와 같은 값입니다.

특정 데이터베이스의 디폴트 문자 집합 및 정렬 순서를 확인하려면 다음 문을 사용합니다.

 USE db_name ;
 SELECT @@ character_set_database @@ collat​​ion_database;

또한 기본 데이터베이스를 변경하지 않고 값을 표시하려면 다음 문을 사용합니다.

 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = ' db_name ';

데이터베이스 문자 집합 및 데이터 정렬은 서버 조작의 다음과 같은 측면에 영향을줍니다.

  • CREATE TABLE 문은 테이블 문자 집합 및 정렬 순서가 지정되어 있지 않은 경우, 데이터베이스 문자 집합 및 정렬 순서가 테이블 정의의 기본값으로 사용됩니다. 이를 무시하려면 CHARACTER SET 과 COLLATE 테이블 옵션을 명시 적으로 지정합니다.

  • CHARACTER SET 절이없는 LOAD DATA 명령문은 서버 character_set_database 시스템 변수에 의해 나타난 문자 세트를 사용하여 파일의 정보를 해석합니다. 이를 무시하려면 CHARACTER SET 절을 명시 적으로 지정합니다.

  • 스토어드 루틴 (저장 프로 시저 및 저장 함수)는 CHARACTER SET 속성도 COLLATE 속성도 선언에 포함되지 않은 문자 데이터 파라미터의 캐릭터 세트 및 데이터 정렬로 루틴을 만들 때 유효한 데이터베이스 문자 집합 및 정렬 순서가 사용됩니다 합니다. 이를 무시하려면 CHARACTER SET 과 COLLATE 속성을 명시 적으로 지정합니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved