ALTER TABLE Klausa COLUMN

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menambahkan, memodifikasi, atau menghilangkan kolom dalam tabel atau bidang dalam kolom dalam tabel Delta Lake.

Izin yang diperlukan

Jika Anda menggunakan Katalog Unity, Anda harus memiliki izin MODIFY untuk:

  • KOLOM ALTER
  • TAMBAHKAN KOLOM
  • DROP COLUMN

Semua operasi lain memerlukan kepemilikan tabel.

Sintaks

ALTER TABLE table_name
   { ADD COLUMN clause |
     ALTER COLUMN clause |
     DROP COLUMN clause |
     RENAME COLUMN clause }

TAMBAHKAN klausa KOLOM

Klausul ini tidak didukung untuk sumber data JDBC.

Menambahkan satu atau beberapa kolom ke tabel, atau bidang ke kolom yang ada di tabel Delta Lake.

Catatan

Saat Anda menambahkan kolom ke tabel Delta yang sudah ada, Anda tidak dapat menentukan DEFAULT nilai. Semua kolom yang ditambahkan ke tabel Delta diperlakukan sebagai NULL untuk baris yang sudah ada. Setelah menambahkan kolom, Anda dapat secara opsional menentukan nilai default untuk kolom, tetapi ini hanya diterapkan untuk baris baru yang disisipkan ke dalam tabel. Gunakan sintaks berikut:

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_expression

Sintaks

{ ADD [ COLUMN | COLUMNS ]
  ( { { column_identifier | field_name } data_type
      [ DEFAULT clause ] [ COMMENT comment ] [ FIRST | AFTER identifier ]
      [ MASK clause ] } [, ...] ) }

Parameter

  • column_identifier

    Nama kolom yang akan ditambahkan. Nama harus unik dalam tabel.

    Kolom atau bidang akan ditambahkan di bagian akhir, kecuali jika FIRST atau AFTER name ditentukan.

  • field_name

    Nama bidang yang sepenuhnya memenuhi syarat untuk ditambahkan ke kolom yang ada. Semua komponen jalur ke bidang berlapis harus ada dan nama bidang itu sendiri harus bersifat unik.

  • DEFAULT default_expression

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

    Menentukan nilai DEFAULT untuk kolom yang digunakan pada INSERT dan MERGE ... INSERT saat kolom tidak ditentukan.

    Jika tidak ada default yang ditentukan, DEFAULT NULL tersirat untuk kolom yang dapat diubah ke null.

    default_expression dapat terdiri dari fungsi atau operator SQL literal dan bawaan kecuali:

    default_expression tidak boleh berisi subkueri apa pun.

    DEFAULT didukung untuk sumber CSV, JSON, PARQUET, dan ORC.

  • data_type

    Menentukan jenis data kolom atau bidang. Tidak semua tipe data yang didukung oleh Azure Databricks didukung oleh semua sumber data.

  • COMMENT comment

    Literal opsional STRING yang menjelaskan kolom atau bidang yang ditambahkan.

    Jika Anda ingin menambahkan komentar yang dihasilkan AI untuk kolom tabel atau tabel yang dikelola oleh Katalog Unity, lihat Menambahkan komentar yang dihasilkan AI ke tabel.

  • FIRST

    Jika ditentukan, kolom akan ditambahkan sebagai kolom pertama dari tabel, atau kolom akan ditambahkan sebagai kolom pertama dalam struktur yang berisi.

  • AFTERidentifier

    Jika ditentukan, kolom atau bidang akan langsung ditambahkan setelah bidang atau kolom identifier.

  • Klausa MASK

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS dan di atas centang ditandai ya Unity Catalog saja

    Penting

    Fitur ini ada di Pratinjau Publik.

    Menambahkan fungsi masker kolom untuk menganonimkan data sensitif. Semua kueri di masa mendatang dari kolom tersebut akan menerima hasil evaluasi fungsi tersebut di atas kolom sebagai pengganti nilai asli kolom. Ini dapat berguna untuk tujuan kontrol akses terperinci di mana fungsi dapat memeriksa identitas dan/atau keanggotaan grup pengguna yang memanggil untuk memutuskan apakah akan meredakan nilai.

ALTER COLUMN clause

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengubah properti atau lokasi kolom.

Sintaks

{ { ALTER | CHANGE } [ COLUMN ] { column_identifier | field_name }
  { COMMENT comment |
    { FIRST | AFTER column_identifier } |
    { SET | DROP } NOT NULL |
    SET DEFAULT clause |
    DROP DEFAULT |
    SYNC IDENTITY |
    SET { MASK clause } |
    DROP MASK |
    SET TAGS clause |
    UNSET TAGS clause } }

Parameter

  • column_identifier

    Nama kolom yang akan diubah.

  • field_name

    Nama lapangan yang sepenuhnya memenuhi syarat untuk diubah. Semua komponen jalur ke bidang bersarang harus ada.

  • COMMENT comment

    Mengubah deskripsi kolom column_name. comment harus harfiah STRING .

  • FIRST atau AFTERpengidentifikasi

    Memindahkan kolom dari posisinya saat ini ke depan (FIRST) atau langsung AFTER setelah identifier. Klausul ini hanya didukung jika table_name berupa tabel Delta.

  • SET NOT NULL atau DROP NOT NULL

    Mengubah domain nilai kolom yang valid untuk mengecualikan null SET NOT NULL, atau menyertakan null DROP NOT NULL. Opsi ini hanya didukung untuk tabel Delta Lake. Delta Lakes akan memastikan batasan tersebut berlaku untuk semua data yang ada dan yang baru.

  • SYNC IDENTITY

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS ke atas

    Sinkronkan metadata kolom identitas dengan data aktual. Saat Anda menulis nilai Anda sendiri ke kolom identitas, nilai tersebut mungkin tidak sesuai dengan metadata. Opsi ini mengevaluasi status dan memperbarui metadata agar konsisten dengan data aktual. Setelah perintah ini, nilai identitas yang ditetapkan berikutnya secara otomatis akan dimulai dari start + (n + 1) * step, di mana n adalah nilai terkecil yang memenuhi start + n * step >= max() (untuk langkah positif).

    Opsi ini hanya didukung untuk kolom identitas pada tabel Delta Lake.

  • DROP DEFAULT

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

    Menghapus ekspresi default dari kolom. Untuk kolom yang dapat diubah ke null, ini setara dengan SET DEFAULT NULL. Untuk kolom yang ditentukan dengan NOT NULL, Anda perlu memberikan nilai pada setiap operasi INSERT di masa mendatang

  • SET DEFAULT default_expression

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

    Menentukan nilai DEFAULT untuk kolom yang digunakan pada INSERT dan MERGE ... INSERT saat kolom tidak ditentukan.

    Jika tidak ada default yang ditentukan, DEFAULT NULL tersirat untuk kolom yang dapat diubah ke null.

    default_expression dapat terdiri dari fungsi atau operator SQL literal dan bawaan kecuali:

    default_expression tidak boleh berisi subkueri.

    DEFAULT didukung untuk sumber CSV, JSON, ORC, dan PARQUET.

    Saat Anda menentukan default untuk kolom yang baru ditambahkan, default berlaku untuk semua baris yang sudah ada sebelumnya. Jika default menyertakan fungsi non-deterministik seperti rand atau current_timestamp, nilai dihitung sekali saat ALTER TABLE dijalankan, dan diterapkan sebagai konstanta ke baris yang sudah ada sebelumnya. Untuk baris yang baru disisipkan, ekspresi default berjalan sekali per baris.

    Saat Anda mengatur default menggunakan ALTER COLUMN, baris yang ada tidak terpengaruh oleh perubahan tersebut.

  • SETKlausa MASK

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS dan di atas centang ditandai ya Unity Catalog saja

    Penting

    Fitur ini ada di Pratinjau Publik.

    Menambahkan fungsi masker kolom untuk menganonimkan data sensitif. Semua kueri di masa mendatang dari kolom tersebut akan menerima hasil evaluasi fungsi tersebut di atas kolom sebagai pengganti nilai asli kolom. Ini dapat berguna untuk tujuan kontrol akses terperinci di mana fungsi dapat memeriksa identitas dan/atau keanggotaan grup pengguna yang memanggil untuk memutuskan apakah akan meredakan nilai.

  • DROP MASK

    Berlaku untuk:centang ditandai ya Hanya Katalog Unity

    Penting

    Fitur ini ada di Pratinjau Publik.

    Menghapus masker kolom untuk kolom ini, jika ada. Kueri di masa mendatang dari kolom ini akan menerima nilai asli kolom.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

    Terapkan tag ke kolom. Anda harus memiliki apply_tag izin untuk menambahkan tag ke kolom.

    • tag_name

      Harfiah STRING. tag_name harus unik dalam tabel atau kolom.

    • tag_value

      Harfiah STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

    Hapus tag dari kolom. Anda harus memiliki apply_tag izin untuk menghapus tag dari kolom.

    • tag_name

      Harfiah STRING. tag_name harus unik dalam tabel atau kolom.

Klausa DROP COLUMN

Penting

Fitur ini ada di Pratinjau Publik.

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Hilangkan satu atau beberapa kolom atau bidang dalam tabel Delta Lake.

Saat menghilangkan kolom atau bidang, Anda juga perlu menghilangkan batasan pemeriksaan dependen serta kolom yang dihasilkan.

Untuk persyaratan, lihat Mengganti nama dan meletakkan kolom dengan pemetaan kolom Delta Lake.

Sintaks

DROP [COLUMN | COLUMNS] [ IF EXISTS ] ( { {column_identifier | field_name} [, ...] )

Parameter

  • IF EXISTS

    Saat Anda menentukan IF EXISTS, Azure Databricks mengabaikan upaya untuk menghilangkan kolom yang tidak ada. Jika tidak, menghilangkan kolom yang tidak ada akan menyebabkan kesalahan.

  • column_identifier

    Nama kolom yang sudah ada.

  • field_name

    Nama bidang yang telah sepenuhnya memenuhi syarat.

Ganti nama klausul KOLOM

Penting

Fitur ini ada di Pratinjau Publik.

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

Mengganti nama kolom atau bidang dalam tabel Delta Lake.

Saat Anda mengganti nama kolom atau bidang, Anda juga perlu mengubah batasan pemeriksaan dependen dan kolom yang dihasilkan. Tiap kunci primer dan kunci asing yang menggunakan kolom akan dihilangkan. Dalam hal kunci asing, Anda harus memiliki tabel tempat kunci asing ditentukan.

Untuk persyaratan, lihat Mengganti nama dan meletakkan kolom dengan pemetaan kolom Delta Lake.

Sintaks

RENAME COLUMN { column_identifier TO to_column_identifier|
                field_name TO to_field_identifier }

Parameter

Contoh

Lihat Contoh ALTER TABLE.