Aracılığıyla paylaş


ALTER TABLE ... COLUMN cümlecik

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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

  • column_identifier

    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.

  • field_name

    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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

    DEFAULT değeri tanımlar; sütun belirtilmediğinde INSERT ve MERGE ... INSERT üzerinde kullanılan sütun için. Varsayılan ifadedeki tüm STRING değişmez değerleri ve STRING işlevleri UTF8_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:

    default_expression herhangi bir alt sorgu içermemelidir.

    DEFAULT, CSV, JSONve PARQUET kaynakları için ORCdesteklenir.

  • veri_türü

    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_typeSTRING isteğe bağlı olarak sütun veya alanla kullanılacak harmanlamayı belirtir. Belirtilmezse varsayılan olarak UTF8_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 identifierhemen sonra eklenir.

  • MASK yan tümcesi

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmişYalnızca Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 12.2 LTS ve üzeri onay işareti evet olarak işaretlenmiş 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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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

  • column_identifier

    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.

  • field_name

    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 bir STRING sözel olmalıdır.

  • FIRST veya AFTERtanımlayıcı

    Sütunu geçerli konumundan FIRST'ın önüne veya doğrudan AFTER öğesine identifier taşır. Bu madde yalnızca table_name bir Delta tablosu olduğunda desteklenir.

  • TYPE veri_türü

    Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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 boyutunu VARCHAR(5)'dan VARCHAR(10)'ye arttırmak
    • Bir CHAR sütununun türünü VARCHAR olarak değiştirme, örneğin, bir CHAR(5) türünü VARCHAR(5) türüne dönüştürme.
    • Bir CHAR veya VARCHAR sütununun türünü STRING olarak değiştirme, örneğin, VARCHAR(10) yerine STRING.

    Delta tabloları delta.enableTypeWidening ayarlandığında true, 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çekle
    DATE TIMESTAMP_NTZ

    Tür genişletme hakkında daha ayrıntılı bilgi için bkz. Tür genişletme.

  • SET NOT NULL veya DROP NOT NULL

    Geçerli sütun değerlerinin etki alanını, null değerleri hariç tutmak SET NOT NULL veya null değerleri dahil etmek DROP 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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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; burada n (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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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. ile NOT NULL tanımlanan sütunlar için gelecekteki INSERT her işlemde bir değer sağlamanız gerekir

  • SET DEFAULT default_expression

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

    DEFAULT değeri tanımlar; sütun belirtilmediğinde INSERT ve MERGE ... 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:

    default_expression bir alt sorgu içermemelidir.

    DEFAULT, CSV, JSONve ORC kaynakları için PARQUETdesteklenir.

    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 veya current_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 COLUMNvarsayılan olarak ayarladığınızda, var olan satırlar bu değişiklikten etkilenmez.

  • SET MASK yan tümcesi

    Şunlar için geçerlidir:onay işareti evet olarak işaretlenmişYalnızca Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 12.2 LTS ve üzeri onay işareti evet olarak işaretlenmiş 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:onay işareti evet olarak işaretlenmiş 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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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.

  • column_identifier

    Mevcut sütunun adı.

  • field_name

    Mevcut bir alanın tam nitelikli adı.

RENAME COLUMN yan tümcesi

Önemli

Bu özellik Genel Önizlemededir.

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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

Örnekler

örneklerine bakın.