Udostępnij za pośrednictwem


Nazwy

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Identyfikuje różne rodzaje obiektów w usłudze Azure Databricks.

Obowiązują następujące ograniczenia dotyczące wszystkich nazw obiektów w katalogu Unity.

  • Nazwy obiektów nie mogą przekraczać 255 znaków.
  • Następujące znaki specjalne są niedozwolone:
    • Okres (.)
    • Spacja ( )
    • Ukośnik do przodu (/)
    • Wszystkie znaki sterujące ASCII (szesnastkowy 00-1F)
    • Znak DELETE (7F w systemie szesnastkowym)
  • Unity Catalog przechowuje wszystkie nazwy obiektów w formie małych liter.
  • W przypadku odwoływania się do nazw UC w języku SQL należy użyć znaków odwrotnych apostrofów, aby odpowiednio oznaczyć nazwy zawierające znaki specjalne, takie jak łączniki (-).

Uwaga

Nazwy kolumn mogą używać znaków specjalnych, ale muszą być zapisane w cudzysłowie odwrotnym we wszystkich poleceniach SQL, gdy używa się znaków specjalnych. Katalog Unity zachowuje wielkość liter nazw kolumn, ale zapytania względem tabel Katalogu Unity są niewrażliwe na wielkość liter.

Nazwa połączenia

Identyfikuje połączenie zagraniczne. Połączenie obce służy jako link do systemu obcego, takiego jak PostgreSQL, a następnie może służyć do odwołowania się do katalogów, schematów i tabel.

Składnia

connection_identifier

Parametry

Przykłady

> CREATE CONNECTION my_postgresql ...;

Nazwa wykazu

Identyfikuje katalog. Wykaz zawiera grupowanie obiektów, które można dalej podzielić na schematy.

Składnia

catalog_identifier

Parametry

Przykłady

> USE CATALOG hive_metastore;

> CREATE CATALOG mycatalog;

-- Creating a catalog with a special character requires back ticks
> CREATE CATALOG `cat-a-log`;

-- Creating a catalog with non ASCII characters requires back ticks
> USE `目录`;

-- space (' '), '/', and '.' are not allowed in catalog names, even with back ticks.
> CREATE CATALOG `cat a log`;
ERROR

Nazwa schematu

Identyfikuje schemat. Schemat zapewnia grupowanie obiektów w wykazie.

Składnia

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Parametry

Schematy utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME).

Przykłady

> USE SCHEMA default;

> CREATE SCHEMA my_sc;

-- In Hive Metastore, schema names must only consist of ASCII letters, digits and '_'
> CREATE SCHEMA hive_metastore.`a-b`;
Error: INVALID_SCHEMA_OR_RELATION_NAME

-- In Unity Catalog only space (' '), '/', and '.' are not allowed
> CREATE SCHEMA main.`a-b`;

> CREATE SCHEMA `a b`;
Error

-- Use back-ticks to reference or create schemas in Unity Catalog with non-ASCII characters
> CREATE SCHEMA `数据库架构`;

Nazwa bazy danych

Synonim nazwy schematu .

Chociaż użycie elementu SCHEMAi DATABASE jest wymienne, SCHEMA jest preferowane.

Nazwa tabeli

Identyfikuje obiekt tabeli. Tabelę można kwalifikować za pomocą nazwy schematu lub niekwalifikować przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] table_identifier |
  IDENTIFIER clause |
  { file_format | `file_format` } . `path_to_table` } [ temporal_spec ] [ options_spec ] }

temporal_spec
{
  @ timestamp_encoding |
  @V version |
  [ FOR ] { SYSTEM_TIMESTAMP | TIMESTAMP } AS OF timestamp_expression |
  [ FOR ] { SYSTEM_VERSION | VERSION } AS OF version
}

options_spec
  WITH ( { option_key [ = ] option_val } [, ...] )

option_key
  { identifier [. ...] | string_literal }

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierająca tabelę.

  • table_identifier: identyfikator określający nazwę tabeli lub table_alias.

  • file_format: jeden z json, csv, avroparquetorcbinaryFile, text, delta (bez uwzględniania wielkości liter).

  • path_to_table: lokalizacja tabeli w systemie plików. Musisz mieć uprawnienia do używania ANY_FILE tej składni.

  • IDENTIFIER klauzula: przypisanie stałej STRING do nazwy tabeli.

  • temporal_spec: Kiedy używane zostają odniesienia do tabeli Delta w określonym punkcie czasowym lub wersji.

    Specyfikację czasową można używać tylko w kontekście zapytania lub SCALANIA PRZY UŻYCIU.

    • @ timestamp_encoding: dodatni literał typu Bigint, który koduje znacznik czasu w formacie yyyyMMddHHmmssSSS.
    • @V wersji: dodatni literał liczbowy identyfikujący wersję tabeli Delta.
    • timestamp_expression: proste wyrażenie, które oblicza znacznik czasu. timestamp_expressiom musi być wyrażeniem stałym, choć może zawierać current_date() lub current_timestamp().
    • wersja: Liczba całkowita lub ciąg znakowy identyfikujący wersję tabeli Delta.
  • option_spec: W przypadku użycia, definiuje dyrektywy, które mają być przekazywane do źródła danych, takiego jak poświadczenie do uzyskania dostępu do lokalizacji magazynu lub 'write.split-size' kontrolowania INSERT zachowania.

    • option_key

      Klucz opcji. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.

      Klucze opcji muszą być unikatowe, a wielkość liter ma znaczenie.

    • option_val

      Wartość opcji. Stałe wyrażenie typu BOOLEAN, STRING, INTEGERlub DECIMAL.

Tabele utworzone w hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślniki (INVALID_SCHEMA_OR_RELATION_NAME).

Jeśli nazwa jest niekwalifikowana i nie odwołuje się do znanego aliasu tabeli , usługa Azure Databricks najpierw próbuje rozpoznać tabelę w bieżącym schemacie.

Jeśli nazwa jest kwalifikowana przy użyciu schematu, usługa Azure Databricks próbuje rozpoznać tabelę w bieżącym wykazie.

Aby uzyskać więcej informacji na temat rozpoznawania nazw, zobacz Tabela i rozdzielczość.

Usługa Azure Databricks zgłasza błąd, jeśli używasz temporal_spec dla tabeli, która nie jest w formacie usługi Delta Lake.

Przykłady

-- A back quoted table name
> SELECT * FROM `Employees`;

-- A table name without back quotes
> SELECT * FROM employees;

-- A schema qualified table name
> SELECT * FROM hr.employees;

-- A schema qualified table name with back quotes for schema and table
> SELECT * FROM `hr`.`employees`;

-- A fully qualified table name
> SELECT * FROM hive_metastore.default.tab;

-- A reference to an information schema table.
> SELECT * FROM system.information_schema.columns;

-- Referencing a path as a table requires back ticks
> SELECT * FROM delta.`somedir/delta_table`;

> SELECT * FROM `csv`.`spreadsheets/data.csv`;

> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH (CREDENTIAL some_credential)

> INSERT INTO t WITH ('write.split-size' 10) SELECT * FROM s;

-- Tables in `hive_metastore` can only contain alphanumeric ASCII characters and underscores
> CREATE TABLE hive_metastore.default.t1(c1 INT);

> CREATE TABLE hive_metastore.default.`表一`(c1 INT);
Error: INVALID_SCHEMA_OR_RELATION_NAME

-- Use back-ticks to reference or create tables in Unity Catalog with non ASCII characters
> CREATE TABLE main.`瑞赛奇`.`表一`(c1 INT);

Nazwa widoku

Identyfikuje widok. Widok może być kwalifikowany przy użyciu nazwy schematu lub niekwalifikowany przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu, który zawiera widok.
  • view_identifier: identyfikator, który określa nazwę widoku lub identyfikator widoku dla CTE.
  • IDENTIFIER klauzula: mapowanie stałej STRING na nazwę widoku.

Widoki utworzone w hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i znaki podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME).

Przykłady

-- A back quoted view name
> SELECT * FROM `Employees`;

-- A view name without back quotes
> SELECT * FROM employees;

-- A schema qualified view name
> SELECT * FROM hr.employees;

-- A schema qualified view name with back quotes for schema and table
> SELECT * FROM `hr`.`employees`;

-- A fully qualified view name
> SELECT * FROM hive_metastore.default.tab;

-- Views in `hive_metastore` can only contain alphanumeric ASCII characters and underscores
> CREATE VIEW hive_metastore.default.v1(c1) AS SELECT 1;

> CREATE VIEW hive_metastore.default.`数据库视图一`(c1 INT);
Error: INVALID_SCHEMA_OR_RELATION_NAME

-- Use back-ticks to reference or create tables in Unity Catalog with non ASCII characters
> CREATE VIEW main.`瑞赛奇`.`数据库视图一`(c1) AS SELECT 1;

Nazwa relacji

Identyfikuje widok lub tabelę. Relacja może być kwalifikowana za pomocą nazwy schematu lub niekwalifikowana przy użyciu prostego identyfikatora.

Składnia

{ table_name | view_name }

Przykłady

-- A back quoted relation name
> SELECT * FROM `Employees`;

-- A relation name without back quotes
> SELECT * FROM employees;

-- A schema qualified relation name
> SELECT * FROM hr.employees;

Nazwa kolumny

Identyfikuje kolumnę w ramach relacji. Kolumna może być kwalifikowana z nazwą relacji lub niekwalifikowana przy użyciu prostego identyfikatora .

Składnia

{ [ relation_name . ] column_identifier |
  IDENTIFIER clause }

Parametry

  • table_name: kwalifikowana lub niekwalifikowana nazwa tabeli zawierająca kolumnę.
  • view_name: kwalifikowana lub niekwalifikowana nazwa widoku zawierającego kolumnę.
  • column_identifier: identyfikator określający nazwę kolumny.
  • IDENTIFIER klauzula: mapowanie stałej STRING do nazwy kolumny.

Zidentyfikowana kolumna musi istnieć w ramach relacji.

Usługa Azure Databricks obsługuje specjalną kolumnę _metadata. Ta pseudokolumna typu struktura jest częścią każdej tabeli i może być używana do pobierania informacji o metadanych dotyczących wierszy w tabeli.

Ostrzeżenie

Jeśli schemat tabeli zawiera kolumnę o nazwie _metadata, zapytania będą zwracać kolumnę ze źródła danych, a nie metadane pliku. Pseudokolumna _metadata nie będzie dostępna.

Nazwy kolumn w tabelach usługi Delta Lake bez właściwości mapowania kolumn ('delta.columnMapping.mode' = 'name') nie mogą zawierać znaków ' ' (spacja), ',', ';', '{', '}''(', ')'. '\n', '\t'i '='.

Nazwa kolumny w tabelach AVRO musi zaczynać się od '_' lub litery Unicode (w tym liter innych niż ASCII), a następnie być połączeniem '_', liter i cyfr Unicode.

Przykłady

-- An unqualified column name
> SELECT c1 FROM VALUES(1) AS T(c1);
 c1
 1

-- A qualified column name
> SELECT T.c1 FROM VALUES(1) AS T(c1);
 c1
 1

-- Using _metadata to retrieve information about rows retrieved from T.
> CREATE TABLE T(c1 INT);
> INSERT INTO T VALUES(1);
> SELECT T._metadata.file_size;
  574

-- A delimited column name
> CREATE TABLE T(`sütun1`);

Nazwa pola

Identyfikuje pole w obrębie struktury. Pole musi być zidentyfikowane za pomocą ścieżki prowadzącej do struktury zawierającej to pole.

Składnia

{ expr { . field_identifier [. ...] } |
  IDENTIFIER clause }

Parametry

Do głęboko zagnieżdżonego pola można odwoływać się, określając identyfikator pola wzdłuż ścieżki do struktury głównej.

Nazwy pól w tabelach usługi Delta Lake bez właściwości mapowania kolumn ('delta.columnMapping.mode' = 'name') nie mogą zawierać znaków ' ' (spacja), ',', ';', '{', '}', '(', ')'. '\n', '\t'i '='.

Nazwa pola w tabelach AVRO musi zaczynać się od '_' lub litery Unicode (w tym liter innych niż ASCII), a następnie kombinacji '_', liter i cyfr Unicode.

Przykłady

> SELECT addr.address.name
    FROM VALUES (named_struct('address', named_struct('number', 5, 'name', 'Main St'),
                              'city', 'Springfield')) as t(addr);
  Main St

-- Delimited field names with non ASCII letters
> CREATE TABLE T(c1 struct<`атрибут1` INT, `атрибут2`>);
> SELECT c1.`атрибут1` FROM T;

Nazwa zmiennej

Identyfikuje zmienną tymczasową (sesję). Zmienna może być kwalifikowana za pomocą nazwy schematu (system.session lub session) lub niekwalifikowana przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: system.session lub session które zawiera wszystkie zmienne tymczasowe.
  • variable_identifier: identyfikator określający nazwę zmiennej.

Przykłady


-- Declaring a session variable with a qualified name.
> DECLARE session.myvar = 5;

-- Setting a session variable with an unqualified name.
> SET VAR myvar = 6

-- Declaring a session variable with a fully qualified name an non-ASCII characters.
> DECLARE system.session.`圆周率` = 3.14;

Nazwa funkcji

Identyfikuje funkcję. Funkcja może być kwalifikowana za pomocą nazwy schematu albo niekwalifikowana przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Parametry

Funkcje utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia.

Przykłady

-- Creating a SQL function with a qualified name
> CREATE FUNCTION math.myplus(x INT, y INT) RETURN x + y;

-- Invoking a function with an unqualified name
> SELECT myplus()

-- Creating a SQL function with non-ASCII characters;
> CREATE FUNCTION `圆周率`() RETURN 3.14;

Nazwa parametru

Identyfikuje parametr w treści funkcji zdefiniowanej przez użytkownika SQL (SQL UDF). Funkcja może być kwalifikowana z użyciem identyfikatora funkcji lub niespecyfikowana z użyciem prostego identyfikatora.

Składnia

[ function_identifier . ] parameter_identifier

Parametry

Przykłady

-- Create a function with undelimited parameters and reference them as qualified and nonqualified.
> CREATE FUNCTION area(x INT, y INT) RETURNS INT
  RETURN area.x + y;

-- Create a function with non-ASCII character parameters
> CREATE FUNCTION full_name(`prénom` STRING, `nom` STRING) RETURNS STRING
  RETURN `prénom` + ' ' + `nom`;

Nazwa etykiety

Identyfikuje etykietę instrukcji złożonej lub instrukcji pętli.

Składnia

label_identifier

Parametry

Przykłady

-- Execute a loop named `label` and leave it right away.
> BEGIN
    label: LOOP
      LEAVE label;
    END LOOP label;
  END;

Nazwa warunku

Identyfikuje zdefiniowaną przez system klasę błędów lub zdefiniowany przez użytkownika warunek zdefiniowany w instrukcji złożonej .

Składnia

condition_identifier

Parametry

Przykłady

-- Declare an exit handler for a DIVIDE_BY_ZERO condition
BEGIN
  DECLARE a INT DEFAULT 1;
  DECLARE b INT DEFAULT 5;
  DECLARE EXIT HANDLER FOR DIVIDE_BY_ZERO
    BEGIN
      VALUES (15);
    END;
  SET a = 10;
  SET a = b / 0;
  VALUES (a);
END;
15

Alias tabeli

Etykietuje odwołanie do tabeli, zapytanie, funkcję tabeli lub inną formę relacji.

Składnia

[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]

Parametry

Jeśli podasz identyfikatory kolumn, ich liczba musi być zgodna z liczbą kolumn w dopasowanej relacji.

Jeśli nie podasz identyfikatorów kolumn, ich nazwy są dziedziczone z relacji oznaczonej etykietą.

Przykłady

-- Defining a table alias with column list
> SELECT a, b FROM VALUES (1, 2) AS t(a, b);
 a  b
 1  2

-- Defining a table alias without column list
> DELETE FROM emp AS e WHERE e.c1 = 5;

-- Defining a table alias with non ASCII characters
> SELECT * FROM employee AS `직원`;

Alias kolumny

Oznacza wynik wyrażenia jako na liście SELECT w celach referencyjnych.

Jeśli wyrażenie jest funkcją generującą wartości tabeli , alias oznacza listę kolumn utworzonych.

Składnia

[AS] column_identifier
[AS] ( column_identifier [, ...] )

Parametry

Chociaż aliasy kolumn nie muszą być unikatowe na liście wyboru, unikatowość jest wymagana do odwołowania się do aliasu według nazwy.

Przykłady

-- An undelimited alias
> SELECT 1 AS a;
 a
 1

> SELECT 1 a, 2 b;
 a b
 1 2

-- A delimited alias with non-ASCII characters
> SELECT 3.14 AS `圆周率`;
 a
 1

-- Referencing a passed column alias
> SELECT a + a FROM (SELECT 1 AS a);
 a
 2

Nazwa sortowania

Identyfikuje sortowanie dla kolumny lub wyrażenia.

Składnia

collation_identifier

Parametry

Aby uzyskać listę obsługiwanych sortowań, zobacz Obsługiwane sortowania. Aby uzyskać szczegółowe informacje na temat sortowania, zobacz Sortowanie.

Przykłady

> SELECT 'hello' COLLATE UNICODE_CI;
  hello

Nazwa poświadczenia

Identyfikuje dane uwierzytelniające do uzyskania dostępu do magazynu w zewnętrznej lokalizacji lub usług w chmurze za pomocą SDK dostawcy.

Składnia

credential_identifier

Parametry

  • credential_identifier: niespecjalizowany identyfikator, który jednoznacznie identyfikuje poświadczenie.

Przykłady

`my_storage_cred`

my_storage_cred

Nazwa lokalizacji

Identyfikuje zewnętrzną lokalizację magazynu.

Składnia

location_identifier

Parametry

  • location_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje lokalizację.

Przykłady

`s3-json-data`

s3_json_data

Nazwa udostępniania

Identyfikuje zasób w celu uzyskania dostępu do danych udostępnianych przez dostawcę.

Składnia

share_identifier

Parametry

  • share_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje udział.

Przykłady

`public info`

`public-info`

public_info

Nazwa dostawcy

Identyfikuje dostawcę Delta Sharing.

Składnia

provider_identifier

Parametry

  • provider_identifier

    Niekwalifikowany identyfikator, który jednoznacznie identyfikuje dostawcę.

Przykłady

`Good Corp`

`Good-corp`

Good_Corp

Imię i nazwisko adresata

Identyfikuje adresata udziału.

Składnia

recipient_identifier

Parametry

Przykłady

`Good Corp`

`Good-corp`

Good_Corp

Nazwa czystego pokoju

Identyfikuje sterylne pomieszczenie dla grupy współpracowników.

Składnia

clean_room_identifier

Parametry

  • clean_room_identifier: niekwalifikowany identyfikator, który jednoznacznie określa czyste pomieszczenie w magazynach metadanych współpracowników.

Przykłady

`Clean-Room`

Clean_Room

Nazwa woluminu

Identyfikuje wolumin katalogu Unity. Wolumin może być kwalifikowany z nazwą schematu lub niekwalifikowany przy użyciu prostego identyfikatora.

Składnia

[ schema_name .] volume_identifier

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierająca wolumin.
  • volume_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje wolumin w schemacie.

Przykłady

`myVolume`

`my-volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume