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 tablodaki sütunu veya Delta Lake tablosundaki bir sütundaki bir alanı ekler, değiştirir veya bırakır.
Gerekli izinler
Unity Kataloğu kullanıyorsanız şu izinlere sahip MODIFY olmanız gerekir:
ALTER COLUMNADD COLUMNDROP 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
FIRSTbelirtilmediğ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.
veya
ARRAYtürlerindeMAPiç içe yerleştirilmiş yapılara alanlar eklemek için aşağıdaki özel adları kullanın:-
ELEMENTögesiniARRAYseçin. -
KEYtuşunaMAPbasın. -
VALUEbir değere gitmek içinMAP.
Örneğin:
phonenumbers.element.countrycodealanıcountrycodedizinin her öğesinephonenumbersekler. -
DEFAULT default_expressionŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeriDEFAULTdeğeri tanımlar; sütun belirtilmediğindeINSERTveMERGE ... INSERTüzerinde kullanılan sütun için. Varsayılan ifadedeki tümSTRINGdeğişmez değerleri veSTRINGişlevleriUTF8_BINARYharmanlamayı kullanır.Varsayılan belirtilmezse,
DEFAULT NULLboş değer atılabilir sütunlar için varsayılır.default_expressiondeğ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_expressionherhangi bir alt sorgu içermemelidir.DEFAULT,CSV,JSONvePARQUETkaynakları içinORCdesteklenir.-
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.
COLLATEsıralama_adıiçin
data_typeSTRINGisteğe bağlı olarak sütun veya alanla kullanılacak harmanlamayı belirtir. Belirtilmezse varsayılan olarakUTF8_BINARYsıralaması uygulanır.COMMENT commentEklenen sütunu veya alanı açıklayan
STRINGisteğ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.
FIRSTBelirtilirse, sütun tablonun ilk sütunu olarak eklenir veya alan, içeren yapının ilk alanı olarak eklenir.
AFTERtanımlayıcıBelirtilirse, sütun veya alan, alanından veya sütunundan
identifierhemen 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 commentSütunun
column_nameaçıklamasını değiştirir.commentbirSTRINGsözel olmalıdır.FIRSTveyaAFTERtanımlayıcıSütunu geçerli konumundan
FIRST'ın önüne veya doğrudanAFTERöğesineidentifiertaşır. Bu madde yalnızcatable_namebir Delta tablosu olduğunda desteklenir.TYPEveri_türüŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 15.2 ve üzeriDeğiştirir
column_namesütununun veri türünü.Bu yan tümce yalnızca Delta Lake tablosuysa
table_namedesteklenir.Tür genişletme hakkında daha ayrıntılı bilgi için bkz. Tür genişletme.
SET NOT NULLveyaDROP NOT NULLGeçerli sütun değerlerinin etki alanını, null değerleri hariç tutmak
SET NOT NULLveya null değerleri dahil etmekDROP NOT NULLiç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 üzeriKimlik 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 üzeriVarsayılan ifadeyi sütundan kaldırır. Boş değer atanabilir sütunlar için bu,
SET DEFAULT NULLile eşdeğer anlamına gelir. ileNOT NULLtanımlanan sütunlar için gelecektekiINSERTher 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 üzeriDEFAULTdeğeri tanımlar; sütun belirtilmediğindeINSERTveMERGE ... INSERTüzerinde kullanılan sütun için.Eğer bir varsayılan belirtilmemişse,
DEFAULT NULLnull atanabilir sütunlar için varsayılır.default_expressiondeğ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_expressionbir alt sorgu içermemelidir.DEFAULT,CSV,JSONveORCkaynakları içinPARQUETdesteklenir.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,
randveyacurrent_timestampgibi,ALTER TABLEyü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 COLUMNvarsayılan olarak ayarladığınızda, var olan satırlar bu değişiklikten etkilenmez.SETMASK 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 üzeriSütuna etiketleri uygula. Sütuna etiket eklemek için
APPLY TAGizniniz olmalıdır.tag_name
Bir sabit
STRING.tag_nametablo 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 üzeriSütundan etiketleri kaldırın. Etiketleri sütundan kaldırma izniniz olmalıdır
APPLY TAG.tag_name
Bir sabit
STRING.tag_nametablo 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 EXISTSbelirttiğ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.