Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ALTER TABLE
ALTER TABLEmengubah definisi tabel.
Sintaksis yang didukung
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER TABLE [ IF EXISTS ] name RENAME TO new_name ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema where action is one of: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER [ COLUMN ] column_name DROP DEFAULT ALTER [ COLUMN ] column_name DROP NOT NULL ALTER [ COLUMN ] column_name DROP EXPRESSION [ IF EXISTS ] ALTER [ COLUMN ] column_name ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ADD table_constraint_using_index DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } and table_constraint_using_index is: [ CONSTRAINT constraint_name ] UNIQUE USING INDEX index_name
Deskripsi
ADD [ COLUMN ] [ IF NOT EXISTS ]-
Formulir ini menambahkan kolom baru ke tabel, menggunakan sintaks yang sama sepertiCREATE TABLE. Jika
IF NOT EXISTSditentukan dan kolom sudah ada dengan nama ini, tidak ada kesalahan yang dilemparkan. SET/DROP DEFAULT-
Formulir ini mengatur atau menghapus nilai default untuk kolom (di mana penghapusan setara dengan mengatur nilai default ke NULL). Nilai default baru hanya akan berlaku di
UPDATEperintah berikutnyaINSERTatau; itu tidak menyebabkan baris yang sudah ada di tabel berubah. DROP NOT NULL-
Formulir ini mengubah kolom untuk memungkinkan nilai null.
DROP EXPRESSION [ IF EXISTS ]-
Formulir ini mengubah kolom yang dihasilkan tersimpan menjadi kolom dasar normal. Data yang ada di kolom dipertahankan, tetapi perubahan future tidak akan lagi menerapkan ekspresi generasi. Jika
DROP EXPRESSION IF EXISTSditentukan dan kolom bukan kolom yang dihasilkan, tidak ada kesalahan yang dilemparkan. Dalam hal ini pemberitahuan dikeluarkan sebagai gantinya. ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITYSET GENERATED { ALWAYS | BY DEFAULT }DROP IDENTITY [ IF EXISTS ]-
Formulir ini mengubah apakah kolom adalah kolom identitas atau mengubah atribut generasi dari kolom identitas yang ada. Lihat CREATE TABLE untuk detail. Seperti
SET DEFAULT, bentuk-bentuk ini hanya mempengaruhi perilaku berikutnyaINSERTdanUPDATEperintah; mereka tidak menyebabkan baris yang sudah ada dalam tabel berubah.sequence_optionIni adalah opsi yang didukung oleh ALTER SEQUENCE sepertiINCREMENT BY. Bentuk-bentuk ini mengubah urutan yang mendasari kolom identitas yang ada.catatan
Amazon Aurora DSQL memerlukan nilai eksplisit
CACHEsaat menggunakan.ADD GENERATED AS IDENTITYSelain itu, kolom identitas hanya didukung padabigintkolom.Saat menggunakan kolom identitas, nilai cache harus dipertimbangkan dengan cermat. Untuk informasi selengkapnya, lihat info penting di CREATE SEQUENCE halaman.
Untuk panduan tentang cara terbaik menggunakan kolom identitas berdasarkan pola beban kerja, lihatBekerja dengan urutan dan kolom identitas.
SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }-
Formulir ini mengatur mode penyimpanan untuk kolom. Untuk detail tentang mode penyimpanan yang tersedia, lihat Mode penyimpanan di CREATE TABLE halaman.
ADDtable_constraint_using_index-
Formulir ini menambahkan
UNIQUEkendala baru ke tabel berdasarkan indeks unik yang ada. Semua kolom indeks akan dimasukkan dalam kendala.Indeks harus dalam
VALIDkeadaan; menambahkan kendala unik menggunakan indeks saat indeks sedang dibangun tidak didukung.Jika nama kendala disediakan maka indeks akan diganti namanya agar sesuai dengan nama kendala. Jika tidak, kendala akan diberi nama sama dengan indeks.
Setelah perintah ini dijalankan, indeks “dimiliki” oleh kendala, dengan cara yang sama seperti jika indeks telah dibangun oleh perintah biasa
CREATE UNIQUE INDEX ASYNC. Secara khusus, menjatuhkan kendala akan membuat indeks menghilang juga. DROP CONSTRAINT [ IF EXISTS ]-
Formulir ini menjatuhkan batasan yang ditentukan pada tabel, bersama dengan indeks apa pun yang mendasari kendala. Jika
IF EXISTSditentukan dan kendala tidak ada, tidak ada kesalahan yang dilemparkan. Dalam hal ini pemberitahuan dikeluarkan sebagai gantinya.penting
Saat ini, menambahkan batasan baru didukung dengan ekspresi.
CREATE TABLEALTER TABLE ADD CONSTRAINT(dukungan mirroring untukDROP CONSTRAINT) belum tersedia. Jika Anda memiliki pertanyaan tentang fitur yang akan datang ini, silakan hubungi AWS Support atau hubungi langsung melalui DSQL PublicDiscord. OWNER TO-
Formulir ini mengubah pemilik tabel ke pengguna yang ditentukan.
RENAME-
RENAMEFormulir mengubah nama tabel, nama kolom individu dalam tabel, atau nama kendala tabel. Saat mengganti nama kendala yang memiliki indeks yang mendasarinya, indeks juga diganti namanya. Tidak ada efek pada data yang disimpan. SET SCHEMA-
Formulir ini memindahkan tabel ke skema lain. Indeks, kendala, dan urutan terkait yang dimiliki oleh kolom tabel juga dipindahkan.
Parameter
IF EXISTS-
Jangan melempar kesalahan jika tabel tidak ada. Pemberitahuan dikeluarkan dalam kasus ini.
name-
Nama (opsional schema-qualified) dari tabel yang ada untuk diubah. Jika
ONLYditentukan sebelum nama tabel, hanya tabel yang diubah. Jika tidakONLYditentukan, tabel dan semua tabel keturunannya (jika ada) diubah. Secara opsional,*dapat ditentukan setelah nama tabel untuk secara eksplisit menunjukkan bahwa tabel keturunan disertakan. column_name-
Nama kolom baru atau yang sudah ada.
new_column_name-
Nama baru untuk kolom yang ada.
new_name-
Nama baru untuk tabel.
data_type-
Tipe data kolom baru.
constraint_name-
Nama kendala baru atau yang sudah ada.
CASCADE-
Secara otomatis menjatuhkan objek yang bergantung pada batasan yang dijatuhkan (misalnya, tampilan yang mereferensikan kolom), dan pada gilirannya semua objek yang bergantung pada objek tersebut.
RESTRICT-
Menolak untuk menjatuhkan kendala jika ada objek dependen. Ini adalah perilaku default.
new_owner-
Nama pengguna pemilik baru tabel.
new_schema-
Nama skema tempat tabel akan dipindahkan.