Spec-Zone.ru › MariaDB

Квалификаторы идентификаторов

Квалификаторы используются в операторах SQL для ссылки на структуры данных, такие как базы данных, таблицы или столбцы. Например, запрос SELECT обычно содержит ссылки на некоторые столбцы и по крайней мере на одну таблицу.

Квалификаторы могут состоять из одного или нескольких идентификаторов, где начальные части влияют на контекст, в котором интерпретируется конечный идентификатор:

  • Для базы данных необходимо указать только идентификатор базы данных.
  • Для объектов, которые содержатся в базе данных (таких как таблицы, представления, функции и т. д.), можно указать идентификатор базы данных. Если база данных не указана, предполагается текущая база данных (см. USE и DATABASE() для получения более подробной информации). Если нет базы данных по умолчанию и база данных не указана, выдается ошибка.
  • Для имён столбцов таблица и база данных, как правило, очевидны из контекста оператора. Однако можно указать идентификатор таблицы или идентификатор базы данных плюс идентификатор таблицы.
  • Идентификатор считается полностью квалифицированным, если он содержит все возможные квалификаторы, например, следующий столбец является полностью квалифицированным: db_name.tbl_name.col_name.

Если квалификатор состоит более чем из одного идентификатора, в качестве разделителя необходимо использовать точку (.). Все идентификаторы могут быть заключены в кавычки по отдельности. Допускается дополнительное пространство (включая новые строки и табуляции).

Все следующие примеры являются допустимыми:

  • db_name.tbl_name.col_name
  • tbl_name
  • `db_name`.`tbl_name`.`col_name`
  • `db_name` . `tbl_name`
  • db_name. tbl_name

Если идентификатор таблицы предваряется точкой (.), предполагается база данных по умолчанию. Эта синтаксическая конструкция поддерживается для соответствия ODBC, но не оказывает практического влияния на MariaDB. Эти квалификаторы эквивалентны:

  • tbl_name
  • . tbl_name
  • .`tbl_name`
  • . `tbl_name`

Для операторов DML можно указать список разделов с помощью предложения PARTITION. Подробности см. в разделе Оптимизация запросов по разделам и выборка данных.

См. также

  • Имена идентификаторов
  • USE
  • DATABASE()
Содержимое, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/identifier-qualifiers/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API