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_name
db2.t.
으로 참조해야합니다. col_name
구문
은 기본 데이터베이스의 테이블 .tbl_name
tbl_name
을 의미합니다. 일부 ODBC 프로그램에서 테이블 이름 앞에 " .
"문자가 지정되기 때문에 ODBC 호환성을 보장하기 위해이 구문이 인정되고 있습니다.