View a markdown version of this page

ALTER TABLE - Amazon Aurora DSQL

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 EXISTS ditentukan 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 UPDATE perintah berikutnya INSERT atau; 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 EXISTS ditentukan dan kolom bukan kolom yang dihasilkan, tidak ada kesalahan yang dilemparkan. Dalam hal ini pemberitahuan dikeluarkan sebagai gantinya.

ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY
SET 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. SepertiSET DEFAULT, bentuk-bentuk ini hanya mempengaruhi perilaku berikutnya INSERT dan UPDATE perintah; 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 CACHE saat menggunakan. ADD GENERATED AS IDENTITY Selain itu, kolom identitas hanya didukung pada bigint kolom.

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.

ADD table_constraint_using_index

Formulir ini menambahkan UNIQUE kendala baru ke tabel berdasarkan indeks unik yang ada. Semua kolom indeks akan dimasukkan dalam kendala.

Indeks harus dalam VALID keadaan; 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 biasaCREATE 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 EXISTS ditentukan 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 TABLE ALTER 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 Public Discord.

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 ONLY ditentukan sebelum nama tabel, hanya tabel yang diubah. Jika tidak ONLY ditentukan, 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.