Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
Azure Databricks'teki farklı nesne türlerini tanımlar.
Unity Kataloğu'ndaki tüm nesne adları için aşağıdaki sınırlamalar geçerlidir:
- Nesne adları 255 karakteri aşamaz.
- Aşağıdaki özel karakterlere izin verilmez:
- Dönem (
.) - Boşluk (
) - Eğik çizgi (
/) - Tüm ASCII denetim karakterleri (00-1F onaltılık)
- DELETE karakteri (7F onaltılık)
- Dönem (
- Unity Kataloğu tüm nesne adlarını küçük harf olarak depolar.
- SQL'de UC adlarına başvururken, kısa çizgi (
-) gibi özel karakterler içeren adlardan kurtulmak için arka uçları kullanmanız gerekir.
Not
Sütun adları özel karakterler kullanabilir, ancak özel karakterler kullanılıyorsa adın tüm SQL ifadelerinde ters tırnak işaretiyle kaçış karakterine alınması gerekir. Unity Kataloğu sütun adının büyük/küçük harf kullanımını korur, ancak Unity Kataloğu tablolarındaki sorgular büyük/küçük harfe duyarsızdır.
Bağlantı adı
Yabancı bir bağlantı tanımlar.
Yabancı bağlantı, PostgreSQL gibi bir yabancı sisteme bağlantı görevi görür ve daha sonra kataloglarına, şemalarına ve tablolarına başvurmak için kullanılabilir.
Sözdizimi
connection_identifier
Parametreler
- connection_identifier: Bağlantıyı benzersiz olarak tanımlayan tanımlayıcı.
Örnekler
> CREATE CONNECTION my_postgresql ...;
Katalog adı
Bir kataloğu tanımlar. Katalog, şemalara daha fazla alt bölümlenebilen bir nesne grubu oluşturan bir yapıdır.
Sözdizimi
catalog_identifier
Parametreler
- catalog_identifier: Kataloğu benzersiz olarak tanımlayan tanımlayıcı.
Örnekler
> 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
Şema adı
Bir şema tanımlar. Şema, katalogdaki nesnelerin bir grubunu sağlar.
Sözdizimi
{ [ catalog_name . ] schema_identifier |
IDENTIFIER clause }
Parametreler
- catalog_name: Mevcut bir kataloğun adı.
- schema_identifier: Şemayı benzersiz olarak tanımlayan bir tanımlayıcı.
-
IDENTIFIER kuralı: Sabit
STRING'in bir şema adıyla eşleştirilmesi.
içinde hive_metastore oluşturulan şemalar yalnızca alfasayısal ASCII karakterleri ve alt çizgi (INVALID_SCHEMA_OR_RELATION_NAME) içerebilir.
Örnekler
> 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 `数据库架构`;
Veritabanı adı
şema adı için bir eş anlamlı.
SCHEMA ve DATABASE birbirinin yerine kullanılabilirse de, SCHEMA tercih edilir.
Tablo adı
Tablo nesnesini tanımlar. Tablo, bir şema adıyla nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş olabilir.
Sözdizimi
{ [ 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 }
Parametreler
schema_name: Tabloyu içeren nitelenmiş veya nitelenmemiş bir şema adı.
table_identifier: tablonun veya table_aliasadını belirten tanımlayıcı.
file_format:
json,csv,avro,parquet,orc,binaryFile,text, veyadelta(büyük/küçük harfe duyarsız).path_to_table: Tablonun dosya sistemindeki konumu. Bu söz dizimini
ANY_FILEkullanma izniniz olmalıdır.IDENTIFIER klozu: Sabit
STRING'in bir tablo adı ile eşleştirilmesi.temporal_spec: Kullanıldığında, belirtilen zaman veya sürüm noktasında bir Delta tablosuna başvurur.
Geçici belirtimi yalnızca sorgu veya MERGE USING bağlamında kullanabilirsiniz.
-
@ timestamp_encoding: Bir zaman damgasını
yyyyMMddHHmmssSSSbiçimde kodlayan pozitif bir Bigint değişmez değeri. - @V sürüm: Delta tablosunun sürümünü tanımlayan pozitif bir Tamsayı sabiti.
-
timestamp_expression: TIMESTAMP olarak değerlendirilen basit bir ifade.
timestamp_expressiomsabit bir ifade olmalıdır, ancakcurrent_date()veyacurrent_timestamp()içerebilir. - sürüm: Delta tablosunun sürümünü tanımlayan bir Tamsayı sabiti veya Dize sabiti.
-
@ timestamp_encoding: Bir zaman damgasını
option_spec: Kullanıldığında, depolama konumuna erişmek veya
'write.split-size'davranışı denetlemekINSERTiçin kimlik bilgileri gibi bir veri kaynağına geçirilecek yönergeleri tanımlar.seçenek_tuşu
Seçenek tuşu. Anahtar, nokta veya dize değişmez değeriyle ayrılmış bir veya daha fazla tanımlayıcıdan oluşabilir.
Seçenek anahtarları benzersiz ve büyük/küçük harfe duyarlı olmalıdır.
option_val
Seçeneğin değeri.
BOOLEAN,STRING,INTEGERveyaDECIMALtüründe bir sabit ifade.
**
hive_metastore'da oluşturulan tablolar yalnızca alfasayısal ASCII karakterleri ve alt çizgi (INVALID_SCHEMA_OR_RELATION_NAME) içerebilir.
Eğer ad niteliksizse ve bilinen bir tablo takma adına başvurmuyorsa, Azure Databricks önce geçerli şemadaki tabloyu çözümlemeyi dener.
Ad bir şemayla nitelenmişse, Azure Databricks geçerli katalogdaki tabloyu çözümlemeye çalışır.
Ad çözümlemesi hakkında daha fazla bilgi için Tablosu ve çözüm yolu'e bakın.
Delta Lake biçiminde olmayan bir tablo için temporal_spec kullandığınızda Azure Databricks bir hata oluşturur.
Örnekler
-- 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);
Görünüm adı
Bir görünümü tanımlar. Görünüm, şema adıyla nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş .
Sözdizimi
{ [ schema_name . ] view_identifier |
IDENTIFIER clause }
Parametreler
- schema_name: Görünümü içeren şemanın nitelenmiş veya nitelenmemiş adı.
- view_identifier: bir CTEgörünümünün adını veya görünüm tanımlayıcısını belirten tanımlayıcı.
-
IDENTIFIER yan tümcesi: Sabit
STRING'in bir görünüm adıyla eşleştirilmesi.
hive_metastore'da oluşturulan görünümler yalnızca alfasayısal ASCII karakterleri ve alt çizgi karakterlerini (INVALID_SCHEMA_OR_RELATION_NAME) içerebilir.
Örnekler
-- 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;
İlişki adı
Bir görünümü veya tabloyu tanımlar. İlişki, şema adıyla nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş .
Sözdizimi
{ table_name | view_name }
Örnekler
-- 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;
Sütun adı
İlişki içindeki bir sütunu tanımlar. Sütun, ilişki adı ile nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş olabilir.
Sözdizimi
{ [ relation_name . ] column_identifier |
IDENTIFIER clause }
Parametreler
- table_name: Sütunu içeren tablonun nitelenmiş veya nitelenmemiş tablo adı.
- view_name: Kolonu içeren görünümün tam veya eksik adlandırılmış görünüm adı.
- column_identifier: Bir sütun adını belirten tanımlayıcı.
-
IDENTIFIER maddesi: Sabit
STRING'yi sütun adıyla eşleme.
Tanımlanan sütunun ilişki içinde mevcut olması gerekir.
Azure Databricks, özel bir _metadata sütununudestekler. Yapı türündeki bu sahte sütun her tablonun bir parçasıdır ve tablodaki satırlar hakkındaki meta veri bilgilerini almak için kullanılabilir.
Uyarı
Tablo şeması _metadataadlı bir sütun içeriyorsa, sorgular sütunu dosya meta verilerinden değil veri kaynağından döndürür.
_metadata sahte sütununa erişilemez.
Sütun eşleme özelliği ('delta.columnMapping.mode' = 'name') olmayan Delta Lake tablolarındaki sütun adları, ' ' (boşluk), ',', ';', '{', '}', '(', ')'karakterlerini içermemelidir.
'\n', '\t've '='.
AVRO tablolarındaki sütun adı '_' veya Unicode harfle (ASCII olmayan harfler dahil) başlamalıdır ve ardından '_', Unicode harfleri ve basamaklarının bir bileşimi eklenmelidir.
Örnekler
-- 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`);
Alan adı
Yapı içindeki bir alanı tanımlar. Alan, alanı içeren yapıya kadar olan yol ile nitelenmelidir.
Sözdizimi
{ expr { . field_identifier [. ...] } |
IDENTIFIER clause }
Parametreler
- expr: STRUCT türünde bir ifade.
- field_identifier: Alanın adını belirten tanımlayıcı.
-
IDENTIFIER ifadesi: Sabit
STRING'in alan adıyla eşleştirilmesi.
Kök yapının yolu boyunca alan tanımlayıcısı belirtilerek derin iç içe yerleştirilmiş bir alana başvurulabilir.
Sütun eşleme özelliği ('delta.columnMapping.mode' = 'name') olmayan Delta Lake tablolarındaki alan adları, ' ' (boşluk), ',', ';', '{', '}', '(', ')'karakterlerini içermemelidir.
'\n', '\t've '='.
AVRO tablolarındaki alan adı, '_' veya Unicode harfle (ASCII olmayan harfler dahil) başlamalıdır ve ardından '_', Unicode harfleri ve basamaklarının bir bileşimi eklenmelidir.
Örnekler
> 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;
Değişken adı
Geçici bir (oturum) değişken tanımlar.
Değişken, şema adı ( veya system.session) ile nitelenebilir session ya da basit bir tanımlayıcı kullanılarak nitelenmemiş olabilir.
Sözdizimi
{ [ schema_name . ] variable_identifier |
IDENTIFIER clause }
Parametreler
-
schema_name:
system.sessionveyasessiontüm geçici değişkenleri içerir. - variable_identifier: Değişkenin adını belirten tanımlayıcı.
Örnekler
-- 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;
İşlev adı
Bir işlevi tanımlar. İşlev, bir şema adıyla nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş olabilir.
Sözdizimi
{ [ schema_name . ] function_identifier |
IDENTIFIER clause }
Parametreler
- schema_name: İşlevi içeren nitelenmiş veya nitelenmemiş şema adı.
- function_identifier: İşlevin adını belirten tanımlayıcı.
-
IDENTIFIER cümleciği: Sabit
STRING'in işlev adıyla eşlemesi.
içinde hive_metastore oluşturulan işlevler yalnızca alfasayısal ASCII karakterleri ve alt çizgi içerebilir.
Örnekler
-- 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;
Prosedür adı
Bir prosedürü tanımlar. Prosedür bir şema adıyla nitelenebilir veya basit bir tanımlayıcı kullanılarak nitelenmeden olabilir.
Sözdizimi
{ [ schema_name . ] procedure_identifier |
IDENTIFIER clause }
Parametreler
- schema_name: İşlemi içeren nitelenmiş veya nitelenmemiş şema adı.
- procedure_identifier: Bir prosedürün adını belirten tanımlayıcı.
-
IDENTIFIER yan tümcesi: Sabitin
STRINGile bir yordam adına eşlenmesi.
Örnekler
-- Invoking a procedure.
> CALL myproc();
Parametre adı
SQL kullanıcı tanımlı işlevinin (SQL UDF) gövdesindeki bir parametreyi veya bir yordamı tanımlar. Parametre bir yordam tanımlayıcı ile kalifiye edilebilir veya basit bir tanımlayıcı kullanılarak kalifiyesiz olabilir.
Sözdizimi
[ routine_identifier . ] parameter_identifier
Parametreler
- routine_identifier: İşlev veya yordamın adını belirten tanımlayıcı.
- parameter_identifier: Parametrenin adını belirten tanımlayıcı.
Örnekler
-- 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`;
Etiket adı
bileşik deyiminin veya döngü deyiminin etiketini tanımlar.
Sözdizimi
label_identifier
Parametreler
- label_identifier: Etiketin adını belirten tanımlayıcı.
Örnekler
-- Execute a loop named `label` and leave it right away.
> BEGIN
label: LOOP
LEAVE label;
END LOOP label;
END;
Koşul adı
Sistem tanımlı hata sınıfı veya bir bileşik deyiminde tanımlanan kullanıcı tanımlı koşulutanımlar.
Sözdizimi
condition_identifier
Parametreler
- condition_identifier: Koşulun adını belirten tanımlayıcı.
Örnekler
-- 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
Tablo takma adı
Tablo başvurusunu, sorguyu, tablo işlevini veya başka bir ilişki biçimini etiketler.
Sözdizimi
[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]
Parametreler
- table_identifier: Tablonun adını belirten tanımlayıcı.
- column_identifierN: Bir sütun adı belirlemesini sağlayan isteğe bağlı bir tanımlayıcı.
Sütun tanımlayıcıları sağlarsanız, bunların sayısı eşleşen ilişkideki sütun sayısıyla eşleşmelidir.
Sütun tanımlayıcıları sağlamazsanız, adları etiketlenmiş ilişkiden devralınır.
Örnekler
-- 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 `직원`;
Sütun adı takma
Bir ifadenin sonucunu bir SELECT listesinde başvuru için etiketler.
İfade, tablo değerli üreteç işlevise, diğer ad üretilen sütunların listesini etiketler.
Sözdizimi
[AS] column_identifier
[AS] ( column_identifier [, ...] )
Parametreler
- column_identifier: Bir sütun adını belirten tanımlayıcı.
Sütun diğer adlarının seçim listesinde benzersiz olması gerekmese de, bir diğer adın adına göre referans verilmesi için benzersiz olması şarttır.
Örnekler
-- 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
Harmanlama adı
Bir sütun veya ifade için harmanlamayı tanımlar.
Sözdizimi
collation_identifier
Parametreler
- collation_identifier: Harmanlamanın adını belirten tanımlayıcı.
Desteklenen harmanlamaların listesi için bkz. desteklenen harmanlamalar
Örnekler
> SELECT 'hello' COLLATE UNICODE_CI;
hello
Kimlik belgesi adı
Sağlayıcı SDK'ları ile bir dış konumda veya bulut hizmetlerinde depolamaya erişmek için bir kimlik bilgisi tanımlar.
Sözdizimi
credential_identifier
Parametreler
- credential_identifier: Kimlik bilgilerini benzersiz olarak tanımlayan nitelenmemiş bir tanımlayıcı.
Örnekler
`my_storage_cred`
my_storage_cred
Konum adı
Bir dış depolama konumu tanımlar.
Sözdizimi
location_identifier
Parametreler
- location_identifier: Konumu benzersiz olarak tanımlayan nitelenmemiş bir tanımlayıcı.
Örnekler
`s3-json-data`
s3_json_data
Paylaşılan isim
Sağlayıcı tarafından paylaşılan verilere erişmek için bir paylaşımı tanımlar.
Sözdizimi
share_identifier
Parametreler
- share_identifier: Paylaşımı benzersiz olarak tanımlayan nitelenmemiş bir tanımlayıcı.
Örnekler
`public info`
`public-info`
public_info
Sağlayıcı adı
Delta Sharing sağlayıcısını tanımlar.
Sözdizimi
provider_identifier
Parametreler
-
Sağlayıcıyı benzersiz şekilde tanımlayan niteliksiz bir tanımlayıcı.
Örnekler
`Good Corp`
`Good-corp`
Good_Corp
Alıcı adı
Bir paylaşımın alıcısını tanımlar.
Sözdizimi
recipient_identifier
Parametreler
- recipient_identifier: Alıcıyı benzersiz olarak tanımlayan nitelenmemiş bir tanımlayıcı.
Örnekler
`Good Corp`
`Good-corp`
Good_Corp
Temiz Oda adı
Bir grup ortak çalışan için temiz bir oda tanımlar.
Sözdizimi
clean_room_identifier
Parametreler
- clean_room_identifier: ortak çalışanların meta veri depolarındaki temiz odayı benzersiz olarak belirten nitelenmemiş bir tanımlayıcı.
Örnekler
`Clean-Room`
Clean_Room
Birim adı
Unity Kataloğu hacmini tanımlar. Birim, bir şema adıyla nitelenmiş veya basit bir tanımlayıcı kullanılarak nitelenmemiş olabilir.
Sözdizimi
[ schema_name .] volume_identifier
Parametreler
- schema_name: Hacmi içeren nitelenmiş veya nitelenmemiş bir şema adı.
- volume_identifier: Şema içindeki hacmi benzersiz olarak tanımlayan nitelenmemiş bir tanımlayıcı.
Örnekler
`myVolume`
`my-volume`
myschema.myVolume
my_unity_catalog.my_schema.my_volume
İlişkili
- Tanımlayıcılar
- IDENTIFIER cümle
- Dosya meta veri sütunu