9.2.1 식별자의 수식
MySQL은 단일 식별자 또는 여러 식별자로 구성된 이름을 사용할 수 있습니다. 여러 가지 이름의 구성 요소는 마침표 ( " . ") 문자로 구분해야합니다. 여러 가지 이름의 첫 번째 부분은 마지막 식별자가 해석되는 컨텍스트에 영향을 미칠 한정자로 작동합니다.
MySQL은 다음 형식을 사용하여 테이블의 컬럼을 참조 할 수 있습니다.
| 컬럼 참조 | 의미 |
|---|---|
col_name | 문에서 사용되는 테이블의 컬럼 col_name 는 그 이름의 열이 포함되어 있습니다. |
tbl_name.col_name | 기본 데이터베이스의 테이블 tbl_name 의 컬럼 col_name . |
db_name.tbl_name.col_name | 데이터베이스 db_name 테이블 tbl_name 의 컬럼 col_name . |
한정자 문자는 별도의 토큰이며, 관련된 식별자와 인접 할 필요가 없습니다. 예를 들어, tbl_name.col_name 과 tbl_name . col_name 은 동일합니다.
여러 가지 이름의 구성 요소를 따옴표로 묶어야 경우 전체 이름을 따옴표로 묶어 것이 아니라 각 구성 요소를 개별적으로 따옴표로 묶어야합니다. 예를 들어, `my-table.my-column` 대신 `my-table`.`my-column` 로 설명합니다.
정규화 된 이름에서 마침표 이후의 예약어는 식별자 여야가 있기 때문에 그 맥락에서 따옴표로 묶을 필요가 없습니다.
참조가 모호하지 않은 한, 문에서 컬럼 참조 전에 tbl_name 나 db_name.tbl_name 접두어를 붙일 필요는 없습니다. 예를 들어, 테이블 t1 과 t2 의 각각 컬럼 c 이있어, t1 과 t2 모두를 사용하는 SELECT 문에서 c 를 얻을 수 있다고합니다. 이 경우 c 는 문에서 사용되는 테이블에서 고유하지 않기 때문에 모호합니다. 이를 t1.c 또는 t2.c 로 테이블 이름으로 규정하고 두 테이블을 가리키고 있는지를 표시해야합니다. 마찬가지로, 같은 문에서 데이터베이스 db1 의 테이블 t 과 데이타베이스 db2 의 테이블 t 에서 얻으려면 각 테이블의 컬럼을 db1.t. 과 col_namedb2.t. 으로 참조해야합니다. col_name
구문 은 기본 데이터베이스의 테이블 .tbl_nametbl_name 을 의미합니다. 일부 ODBC 프로그램에서 테이블 이름 앞에 " . "문자가 지정되기 때문에 ODBC 호환성을 보장하기 위해이 구문이 인정되고 있습니다.