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
Bir tabloya veya malzemeleşmiş görünüme sütun ekler, değiştirir veya siler ya da Delta Lake tablosundaki bir sütun alanını ekler, değiştirir veya siler.
Gerekli izinler
Unity Kataloğu kullanıyorsanız şu izinlere sahip MODIFY
olmanız gerekir:
ALTER COLUMN
ADD COLUMN
DROP COLUMN
Diğer tüm işlemler tablonun sahipliğini gerektirir.
Sözdizimi
ALTER TABLE table_name
{ ADD COLUMN clause |
ALTER COLUMN clause |
DROP COLUMN clause |
RENAME COLUMN clause }
Ekle COLUMN yan tümcesi
Bu madde JDBC
veri kaynakları için desteklenmez.
Delta Lake tablosuna bir veya daha fazla sütun ya da mevcut sütunlara alanlar ekler.
Not
Var olan delta tablosuna sütun eklediğinizde, değer DEFAULT
tanımlayamazsınız. Delta tablolarına eklenen tüm sütunlar var olan satırlar için olarak NULL
değerlendirilir. Sütun ekledikten sonra isteğe bağlı olarak sütun için varsayılan bir değer tanımlayabilirsiniz, ancak bu yalnızca tabloya eklenen yeni satırlar için uygulanır. Aşağıdaki sözdizimini kullanın:
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_expression
Sözdizimi
{ ADD [ COLUMN | COLUMNS ]
( { { column_identifier | field_name } data_type
[ COLLATE collation_name ]
[ DEFAULT clause ]
[ COMMENT comment ]
[ FIRST | AFTER identifier ]
[ MASK clause ] } [, ...] ) }
Parametreler
-
Eklenecek sütunun adı. Ad, tablo içinde benzersiz olmalıdır.
Belirtilmedikçe veya
FIRST
belirtilmediği süreceAFTER name
, sütun veya alan sonuna eklenir. -
Var olan bir sütuna eklenecek alanın tam adı. İç içe alana giden yolun tüm bileşenleri mevcut olmalı ve alan adının kendisi benzersiz olmalıdır.
DEFAULT default_expression
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
DEFAULT
değeri tanımlar; sütun belirtilmediğindeINSERT
veMERGE ... INSERT
üzerinde kullanılan sütun için. Varsayılan ifadedeki tümSTRING
değişmez değerleri veSTRING
işlevleriUTF8_BINARY
harmanlamayı kullanır.Varsayılan belirtilmezse,
DEFAULT NULL
boş değer atılabilir sütunlar için varsayılır.default_expression
değişmez değerlerden ve aşağıdakiler dışında yerleşik SQL işlevlerinden veya işleçlerinden oluşabilir:- Toplama işlevleri
- Analitik pencere işlevleri
- Derecelendirme penceresi işlevleri
- Tablo değer döndüren oluşturucu işlevleri
default_expression
herhangi bir alt sorgu içermemelidir.DEFAULT
,CSV
,JSON
vePARQUET
kaynakları içinORC
desteklenir.-
Sütun veya alanın veri türünü belirtir. Azure Databricks tarafından desteklenen tüm veri türleri tüm veri kaynakları tarafından desteklenmez.
COLLATE
sıralama_adıiçin
data_type
STRING
isteğe bağlı olarak sütun veya alanla kullanılacak harmanlamayı belirtir. Belirtilmezse varsayılan olarakUTF8_BINARY
sıralaması uygulanır.COMMENT comment
Eklenen sütunu veya alanı açıklayan
STRING
isteğe bağlı bir değişmez değer.Unity Kataloğu tarafından yönetilen bir tablo veya tablo sütunu için yapay zeka tarafından oluşturulan bir açıklama eklemek istiyorsanız bkz . Unity Kataloğu nesnelerine yapay zeka tarafından oluşturulan açıklamalar ekleme.
FIRST
Belirtilirse, sütun tablonun ilk sütunu olarak eklenir veya alan, içeren yapının ilk alanı olarak eklenir.
AFTER
tanımlayıcıBelirtilirse, sütun veya alan, alanından veya sütunundan
identifier
hemen sonra eklenir.-
Şunlar için geçerlidir:
Yalnızca Databricks SQL
Databricks Runtime 12.2 LTS ve üzeri
Unity Kataloğu
Önemli
Bu özellik Genel Önizlemededir.
Hassas verileri anonim hale getirmek için bir sütun maskesi işlevi ekler. Bu sütundan sonraki tüm sorgular, sütunun özgün değeri yerine bu işlevi sütun üzerinde değerlendirmenin sonucunu alır. Bu, işlevin çağrı yapan kullanıcının kimliğini veya grup üyeliklerini inceleyerek değeri gizleyip gizlemeyeceğini belirleyebildiği detaylı erişim kontrolü amaçları için yararlı olabilir.
ALTER COLUMN yan tümcesi
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime
Bir özelliği veya sütunun konumunu değiştirir.
Sözdizimi
{ ALTER | CHANGE } [ COLUMN ]
{ { column_identifier | field_name }
{ COMMENT comment |
{ FIRST | AFTER column_identifier } |
{ SET | DROP } NOT NULL |
TYPE data_type |
SET DEFAULT clause |
DROP DEFAULT |
SYNC IDENTITY }
[, ... ]
Databricks Runtime 16.3 öncesinde, bir yan tümcede birden çok sütunun değiştirilmesi desteklenmiyordu.
{ ALTER | CHANGE } [ COLUMN ]
{ column_identifier | field_name }
{ SET { MASK clause } |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parametreler
-
Değiştirilecek sütunun adı.
Bir sütun tanımlayıcıya birden çok kez başvurulursa Azure Databricks NOT_SUPPORTED_CHANGE_SAME_COLUMN oluşturur.
-
Değiştirilecek alanın tam nitelikli adı. İç içe alana giden yolun tüm bileşenleri mevcut olmalıdır.
Bir alan adına birden çok kez başvurulursa, Azure Databricks NOT_SUPPORTED_CHANGE_SAME_COLUMN oluşturur.
COMMENT comment
Sütunun
column_name
açıklamasını değiştirir.comment
birSTRING
sözel olmalıdır.FIRST
veyaAFTER
tanımlayıcıSütunu geçerli konumundan
FIRST
'ın önüne veya doğrudanAFTER
öğesineidentifier
taşır. Bu madde yalnızcatable_name
bir Delta tablosu olduğunda desteklenir.TYPE
veri_türüŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 15.2 ve üzeri
Değiştirir
column_name
sütununun veri türünü.Bu madde yalnızca
table_name
bir Delta tablosu olduğunda desteklenir.Aşağıdaki tür değişiklikleri tüm Delta tabloları için desteklenir:
- Örneğin, bir
VARCHAR
sütunun boyutunuVARCHAR(5)
'danVARCHAR(10)
'ye arttırmak - Bir
CHAR
sütununun türünüVARCHAR
olarak değiştirme, örneğin, birCHAR(5)
türünüVARCHAR(5)
türüne dönüştürme. - Bir
CHAR
veyaVARCHAR
sütununun türünüSTRING
olarak değiştirme, örneğin,VARCHAR(10)
yerineSTRING
.
Delta tabloları
delta.enableTypeWidening
ayarlandığındatrue
, aşağıdaki tür değişiklikleri desteklenir:Önemli
Bu özellik Databricks Runtime 15.2 ve üzeri sürümlerin Genel Önizleme sürümündedir.
Kaynak türü Desteklenen daha geniş türler BYTE
SHORT
,INT
,BIGINT
,DECIMAL
, ,DOUBLE
SHORT
INT
,BIGINT
,DECIMAL
,DOUBLE
INT
BIGINT
,DECIMAL
,DOUBLE
BIGINT
DECIMAL
,DOUBLE
FLOAT
DOUBLE
DECIMAL
DECIMAL
daha yüksek hassasiyet ve ölçekleDATE
TIMESTAMP_NTZ
Tür genişletme hakkında daha ayrıntılı bilgi için bkz. Tür genişletme.
- Örneğin, bir
SET NOT NULL
veyaDROP NOT NULL
Geçerli sütun değerlerinin etki alanını, null değerleri hariç tutmak
SET NOT NULL
veya null değerleri dahil etmekDROP NOT NULL
için değiştirir. Bu seçenek yalnızca Delta Lake tabloları için desteklenir. Delta Lake kısıtlamanın tüm mevcut ve yeni veriler için geçerli olmasını sağlar.SYNC IDENTITY
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 10.4 LTS ve üzeri
Kimlik sütununun meta verilerini gerçek verilerle eşitleyin. Bir kimlik sütununa kendi değerlerinizi yazdığınızda, meta verilerle uyumlu olmayabilir. Bu seçenek durumu değerlendirir ve meta verileri gerçek verilerle tutarlı olacak şekilde güncelleştirir. Bu komuttan sonra, otomatik olarak atanan bir sonraki kimlik değeri
start + (n + 1) * step
'dan başlar; buradan
(pozitif bir adım için)start + n * step >= max()
'yi karşılayan en küçük değerdir.Bu seçenek yalnızca Delta Lake tablolarındaki kimlik sütunları için desteklenir.
DROP DEFAULT
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
Varsayılan ifadeyi sütundan kaldırır. Boş değer atanabilir sütunlar için bu,
SET DEFAULT NULL
ile eşdeğer anlamına gelir. ileNOT NULL
tanımlanan sütunlar için gelecektekiINSERT
her işlemde bir değer sağlamanız gerekirSET DEFAULT default_expression
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
DEFAULT
değeri tanımlar; sütun belirtilmediğindeINSERT
veMERGE ... INSERT
üzerinde kullanılan sütun için.Eğer bir varsayılan belirtilmemişse,
DEFAULT NULL
null atanabilir sütunlar için varsayılır.default_expression
değişmez değerlerden, yerleşik SQL işlevlerinden veya aşağıdakiler dışında işleçlerden oluşabilir:- Toplama işlevleri
- Analitik pencere işlevleri
- Derecelendirme penceresi işlevleri
- Tablo değer döndüren oluşturucu işlevleri
default_expression
bir alt sorgu içermemelidir.DEFAULT
,CSV
,JSON
veORC
kaynakları içinPARQUET
desteklenir.Yeni eklenen bir sütun için varsayılan değeri tanımladığınızda, varsayılan değer önceden var olan tüm satırlar için geçerlidir. Varsayılan değer belirlenimci olmayan bir işlev içeriyorsa,
rand
veyacurrent_timestamp
gibi,ALTER TABLE
yürütüldüğünde değer bir kez hesaplanır ve çoktan var olan satırlar için sabit olarak uygulanır. Yeni eklenen satırlar için varsayılan ifade satır başına bir kez çalıştırılır.kullanarak
ALTER COLUMN
varsayılan olarak ayarladığınızda, var olan satırlar bu değişiklikten etkilenmez.SET
MASK yan tümcesiŞunlar için geçerlidir:
Yalnızca Databricks SQL
Databricks Runtime 12.2 LTS ve üzeri
Unity Kataloğu
Önemli
Bu özellik Genel Önizlemededir.
Hassas verileri anonim hale getirmek için bir sütun maskesi işlevi ekler. Bu sütundan sonraki tüm sorgular, sütunun özgün değeri yerine bu işlevi sütun üzerinde değerlendirmenin sonucunu alır. Bu, işlevin çağrı yapan kullanıcının kimliğini veya grup üyeliklerini inceleyerek değeri gizleyip gizlemeyeceğini belirleyebildiği detaylı erişim kontrolü amaçları için yararlı olabilir.
DROP MASK
Şunlar için geçerlidir:
Yalnızca Unity Kataloğu
Önemli
Bu özellik Genel Önizlemededir.
Bu sütun için varsa sütun maskesini kaldırır. Bu sütundan gelecek sorgular sütunun özgün değerlerini alır.
SET TAGS ( { tag_name = tag_value } [, ...] )
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeri
Sütuna etiketleri uygula. Sütuna etiket eklemek için
APPLY TAG
izniniz olmalıdır.tag_name
Bir sabit
STRING
.tag_name
tablo veya sütun içinde benzersiz olmalıdır.tag_value
Bir sabit
STRING
.
UNSET TAGS ( tag_name [, ...] )
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeri
Sütundan etiketleri kaldırın. Etiketleri sütundan kaldırma izniniz olmalıdır
APPLY TAG
.tag_name
Bir sabit
STRING
.tag_name
tablo veya sütun içinde benzersiz olmalıdır.
DROP COLUMN yan tümcesi
Önemli
Bu özellik Genel Önizlemededir.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
İlişkideki bir veya daha fazla sütunu veya alanı kaldırın.
Bir sütunu veya alanı bıraktığınızda, bağımlı denetim kısıtlamalarını ve oluşturulan sütunları bırakmanız gerekir.
Gereksinimler için Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma bölümüne bakın.
Sözdizimi
DROP [COLUMN | COLUMNS] [ IF EXISTS ] ( { {column_identifier | field_name} [, ...] )
Parametreler
IF EXISTS
belirttiğiniz takdirde
IF EXISTS
, Azure Databricks mevcut olmayan sütunları düşürme girişimini yoksayar. Aksi takdirde, var olmayan sütunların silinmesi hataya neden olur.-
Mevcut sütunun adı.
-
Mevcut bir alanın tam nitelikli adı.
RENAME COLUMN yan tümcesi
Önemli
Bu özellik Genel Önizlemededir.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime 10.4 LTS ve üzeri
Delta Lake tablosundaki sütun eşlemesi için etkinleştirilmiş bir sütunu veya alanı yeniden adlandırır.
Bir sütunu veya alanı yeniden adlandırdığınızda, bağımlı denetim kısıtlamalarını ve oluşturulan sütunları da değiştirmeniz gerekir. Sütunu kullanan tüm birincil anahtarlar ve yabancı anahtarlar bırakılır. Yabancı anahtarlar söz konusu olduğunda yabancı anahtarın tanımlandığı tabloya sahip olmanız gerekir.
Gereksinimler ve sütun eşlemeyi nasıl etkinleştireceğinizi öğrenmek için Delta Lake sütun eşlemesiyle sütunları yeniden adlandırma ve bırakma bağlantısına bakın.
Sözdizimi
RENAME COLUMN { column_identifier TO to_column_identifier|
field_name TO to_field_identifier }
Parametreler
-
Sütunun mevcut adı.
-
Yeni sütun tanımlayıcısı. Tanımlayıcının tablo içinde benzersiz olması gerekir.
-
Bir alanın mevcut tam nitelikli adı.
-
Yeni alan tanımlayıcısı. Tanımlayıcı, yerel yapı içinde benzersiz olmalıdır.