• 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(언어구조)
  • 1. 리터럴 값
    2. 스키마 개체 이름
    1. 식별자의 수식
    2. 식별자의 대문자와 소문자의 구별
    3. 식별자와 파일 이름 매핑
    4. 함수 이름 구문 분석 및 해결
    3. 예약어
    4. 사용자 정의 변수
    5. 식의 구문
    6. 댓글 구문
  • 10. Character Sets(Globalization)
  • 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 새로운 기능

9.2 스키마 개체 이름

9.2.1 식별자의 수식
9.2.2 식별자의 대문자와 소문자의 구별
9.2.3 식별자와 파일 이름 매핑
9.2.4 함수 이름 구문 분석 및 해결

데이터베이스, 테이블, 인덱스, 컬럼, 별칭, 뷰, 저장 프로 시저, 파티션 테이블 공간, 다른 개체 이름 등 MySQL의 특정 객체 식별자로 알려져 있습니다. 이 섹션에서는 MySQL에서 식별자에 대해 허용되는 구문을 설명합니다. 섹션 9.2 "식별자의 대문자와 소문자 ' 에서는 어떤 유형의 식별자가 어떤 조건에서 대소 문자를 구별하는 방법을 설명합니다.

식별자는 따옴표로 묶어도 묶지 수 있습니다. 식별자에 특수 문자가 포함되어 있거나 식별자가 예약어 인 경우, 그 식별자를 참조 할 때는 반드시 따옴표로 묶어야합니다. (예외 : 수식 명에 마침표 이후의 예약어는 식별자이어야하므로 따옴표로 묶을 필요는 없습니다.) 예약어는 섹션 9.3 "예약어" 에 기재되어 있습니다.

식별자는 내부적으로 Unicode로 변환됩니다. 다음 문자를 포함 할 수 있습니다.

  • 인용되지 않은 식별자에서 허용되는 문자.

    • ASCII : 0-9, az, AZ $ _ (기본적인 라틴 문자, 숫자 0-9, 달러, 밑줄)

    • 확장 : U + 0080 ..U + FFFF

  • 인용 된 식별자에 허용되는 문자는 U + 0000를 제외하고 전체 Unicode Basic Multilingual Plane (BMP)가 포함되어 있습니다.

    • ASCII : U + 0001 ..U + 007F

    • 확장 : U + 0080 ..U + FFFF

  • ASCII NUL (U + 0000)와 보조 문자 (U + 10000 이상)은 인용 된 식별자 또는 인용되지 않은 식별자에서 허용되지 않습니다.

  • 식별자는 숫자로 시작할 수 있지만, 인용 부호로 둘러싸여 있지 않은 한, 숫자로만 구성 할 수 없습니다.

  • 데이터베이스 명, 테이블 명 및 컬럼 이름은 공백으로 끝낼 수 없습니다.

식별자 인용 문자는 역 따옴표 ( " ` ")입니다.

 mysql> SELECT * FROM `select` WHERE `select`.id > 100;

ANSI_QUOTES SQL 모드가 활성화되어 있으면 큰 따옴표 내에서 식별자를 따옴표로 묶어도 허용되어 있습니다.

 mysql> CREATE TABLE "test" (col INT);
 ERROR 1064 : You have an error in your SQL syntax ...
 mysql> SET sql_mode='ANSI_QUOTES';
 mysql> CREATE TABLE "test" (col INT);
 Query OK, 0 rows affected (0.00 sec)

ANSI_QUOTES 모드는 서버는 큰 따옴표로 둘러싸인 문자열을 식별자로 해석합니다. 따라서이 모드가 활성화되어있을 때 문자열 리터럴은 작은 따옴표로 묶어야합니다. 큰 따옴표로 묶을 수는 없습니다. 서버 SQL 모드는 섹션 5.1.7 "서버 SQL 모드" 에서 설명한대로 제어됩니다.

식별자가 따옴표로 둘러싸여 있으면, 식별자 따옴표 문자를 식별자 내에 포함 할 수 있습니다. 식별자에 포함 문자가 식별자 자체를 둘러싸는 데 사용하는 따옴표와 같은 경우, 문자를 이중으로해야합니다. 다음 문은 c"d 라는 이름의 컬럼을 포함한 a`b 라는 테이블을 만듭니다.

 mysql> CREATE TABLE `a``b` (`c"d` INT);

쿼리 선택 목록에서 인용 한 컬럼 별칭을 지정하려면 식별자 또는 문자열 인용 문자를 사용합니다.

mysql> SELECT 1 AS `one`, 2 AS 'two';
+-----+-----+
| one | two |
+-----+-----+
|   1 |   2 |
+-----+-----+

문에서 어디에 지정하는 경우에도 별칭에 인용 한 참조 식별자 따옴표를 사용해야합니다. 그렇지 않으면, 참조는 문자열 리터럴로 처리됩니다.

M e 와 M e N (이 경우 M 과 N 은 정수)로 시작하는 이름을 사용하지 않는 것이 추천되고 있습니다. 예를 들어, 1e 를 식별자로 사용하지 마십시오. 이것은 1e+3 등의 표현이 모호하기 때문입니다. 컨텍스트에 따라 수식 1e + 3 로 또는 숫자 1e+3 로 해석 될 수 있습니다.

해서 테이블 이름을 생성하는데 MD5() 를 사용하는 경우는주의가 필요합니다. 왜냐하면 이것은 전술 한 바와 같은 잘못된 형식이나 모호한 형식으로 이름을 생성 할 수 있기 때문입니다.

사용자 변수 식별자 또는 식별자의 일부로 SQL 문에서 직접 사용할 수 없습니다. 해결 방법의 자세한 내용과 예제는 섹션 9.4 "사용자 정의 변수" 를 참조하십시오.

섹션 9.2.3 "식별자와 파일 이름 매핑" 에서 설명하고있는 바와 같이, 데이터베이스와 테이블 이름에 특수 문자는 해당 파일 시스템 이름으로 인코딩됩니다. 특수 문자가 포함 된 이전 버전의 MySQL 데이터베이스 또는 테이블이 있고 그것의 기본 디렉토리 또는 파일 이름이 새로운 인코딩을 사용하도록 업데이트되지 않은 경우, 서버는 그 이름에 #mysql50# 라는 접두어 으로 표시합니다. 이 같은 이름을 찾거나 새로운 인코딩으로 변환 자세한 내용은 해당 섹션을 참조하십시오.

다음 표에는 식별자 유형 당 최대 길이가 표시되어 있습니다.

식별자 최대 길이 (문자)
Database 64 ( NDB 스토리지 엔진 : 63)
테이블 64 ( NDB 스토리지 엔진 : 63)
컬럼 64
인덱스 64
제약 64
저장 프로그램 64
뷰 64
테이블 공간 64
서버 64
로그 파일 그룹 64
별칭 256 (표 다음의 예외를 참조하십시오)
복합 문 라벨 16

CREATE VIEW 문에서 컬럼 이름에 대한 별칭 (256 문자의 최대의 별칭 길이가 아니라) 64 문자의 최대 컬럼 길이에 대해 검사됩니다.

식별자는 Unicode (UTF-8)를 사용하여 저장됩니다. 이것은 .frm 파일에 저장된 테이블 정의의 식별자와 mysql 데이터베이스의 부여 테이블에 저장된 식별자에 적용됩니다. 부여 테이블의 식별자 문자열 컬럼의 크기는 문자로 측정됩니다. 이 컬럼에 저장되는 값에 허용되는 문자 수를 줄일 필요없이 멀티 바이트 문자를 사용할 수 있습니다. 이것은 MySQL 4.1 이전에는 적용되지 않습니다. 전술 한 바와 같이 허용 된 Unicode 문자는 Basic Multilingual Plane (BMP)의 문자입니다. 보조 문자는 허용되지 않습니다.

MySQL Cluster는 데이터베이스 및 테이블의 이름에 63 문자의 최대 길이를 부과합니다. 섹션 18.1.6.5 "MySQL Cluster의 데이터베이스 개체에 대한 제한" 을 참조하십시오.

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