MySQL에는 데이터베이스, 테이블, 인덱스, 컬럼, 별칭(alias), 뷰(view), 저장 프로시저(stored procedure), 파티션(partition), 테이블스페이스(tablespace) 등 다양한 객체가 있으며, 이러한 객체들을 통칭하여 식별자(identifier)라고 부릅니다. MySQL의 모든 식별자는 유니코드(UTF-8) 방식으로 저장되며, 한글과 같은 멀티바이트 문자도 하나의 문자로 계산됩니다.
식별자 유형별 최대 길이
식별자의 종류에 따라 허용되는 최대 길이는 다음 표와 같습니다. 대부분의 식별자는 최대 64자까지 사용할 수 있지만, 예외적으로 별칭(alias)은 256자, 복합문 레이블(compound statement label)은 16자로 제한됩니다.
| 번호 | 식별자 | 최대 길이 (문자 수) |
|---|---|---|
| 1 | 데이터베이스 (Database) | 64 |
| 2 | 테이블 (Table) | 64 |
| 3 | 컬럼 (Column) | 64 |
| 4 | 인덱스 (Index) | 64 |
| 5 | 제약 조건 (Constraint) | 64 |
| 6 | 저장 프로시저 또는 함수 (Stored Procedure / Function) | 64 |
| 7 | 트리거 (Trigger) | 64 |
| 8 | 뷰 (View) | 64 |
| 9 | 이벤트 (Event) | 64 |
| 10 | 테이블스페이스 (Tablespace) | 64 |
| 11 | 로그 파일 그룹 (Log File Group) | 64 |
| 12 | 별칭 (Alias) | 256 |
| 13 | 복합문 레이블 (Compound Statement Label) | 16 |
참고 사항
위의 길이 제한은 바이트(byte)가 아닌 문자 수 기준입니다. 따라서 UTF-8 환경에서 한글이나 다른 멀티바이트 문자를 사용하더라도 한 글자로 간주됩니다. 다만, 실제 디스크 저장 공간이나 인덱스 키 길이 등은 바이트 단위 제한이 적용될 수 있으므로, 한글 식별자를 사용할 때는 스토리지 엔진 및 문자셋 설정을 함께 고려하는 것이 좋습니다.