• 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.7 문자 셋과 콜레 션 할당의 예

MySQL에서 어떻게 기본 문자 집합 및 데이터 정렬 값이 결정되는지를 다음의 예에서 보여줍니다.

예 1 : 테이블 및 컬럼의 정의

 CREATE TABLE t1
 (
     c1 CHAR (10) CHARACTER SET latin1 COLLATE latin1_german1_ci
 ) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;

여기에서는 latin1 문자 집합과 latin1_german1_ci 데이터 정렬이 컬럼에 지정되어 있습니다. 이 정의는 명확하고 간단 명료합니다. 덧붙여 latin1 컬럼을 latin2 테이블에 저장하는 데 문제가 없습니다.

예 2 : 테이블 및 컬럼의 정의

 CREATE TABLE t1
 (
     c1 CHAR (10) CHARACTER SET latin1
 ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

여기에서는 latin1 캐릭터 세트와 디폴트 조합 순서가 컬럼에 지정되어 있습니다. 당연한 듯하지만, 기본 데이터 정렬은 테이블 수준에서 검색되지 않습니다. latin1 의 기본 데이터 정렬은 항상 latin1_swedish_ci 이기 때문에 컬럼 c1 에 latin1_danish_ci 아니고 latin1_swedish_ci 의 데이터 정렬이 설정됩니다.

예 3 : 테이블 및 컬럼의 정의

 CREATE TABLE t1
 (
     c1 CHAR (10)
 ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

여기에서는 디폴트 캐릭터 세트와 디폴트 조합 순서가 컬럼에 지정되어 있습니다. 이 상황에서는 MySQL은 테이블 수준을 확인하고 컬럼의 문자 집합 및 정렬 순서를 결정합니다. 따라서, 컬럼 c1 의 캐릭터 세트는 latin1 데이터 정렬은 latin1_danish_ci 입니다.

예 4 : 데이터베이스, 테이블 및 컬럼의 정의

 CREATE DATABASE d1
     DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci;
 USE d1;
 CREATE TABLE t1
 (
     c1 CHAR (10)
 );

문자 셋과 콜레 션을 지정하지 않고 열을 만듭니다. 테이블 수준의 문자 셋과 콜레 션도 지정하지 않습니다. 이 상황에서는 MySQL은 데이터베이스 수준을 확인하고 테이블 설정을 확인합니다. 그 후,이 설정이 컬럼 설정됩니다. 따라서, 컬럼 c1 의 캐릭터 세트는 latin2 데이터 정렬은 latin2_czech_ci 입니다.

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