PostgreSQL ALTER TABLE: Tambah & Ganti Nama Kolom
โก Ringkasan Cerdas
PostgreSQL Perintah ALTER TABLE mengubah struktur tabel yang sudah ada, memungkinkan Anda untuk menambah atau menghapus kolom, mengganti nama kolom atau seluruh tabel, mengatur nilai default, dan melampirkan batasan pemeriksaan tanpa membuat ulang objek tersebut.

Apa itu ALTER TABLE? PostgreSQL?
The ALTER TABEL Perintah digunakan untuk mengubah struktur suatu PostgreSQL Perintah ini digunakan untuk mengubah kolom tabel atau nama tabel itu sendiri, tanpa menggunakan perintah drop.ping dan membuat ulang objek tersebut.
Sintaksis
Berikut adalah sintaks untuk PostgreSQL Perintah ALTER TABLE:
ALTER TABLE table-name action;
Parameter `table-name` adalah nama tabel yang perlu Anda ubah. Parameter `action` adalah tindakan yang perlu Anda lakukan, seperti mengubah nama kolom atau mengubah tipe data kolom.
Deskripsi
Perintah ALTER TABLE mengubah definisi tabel yang sudah ada. Perintah ini mengambil subformulir berikut:
- TAMBAHKAN KOLOMPerintah ini menggunakan sintaks yang mirip dengan perintah CREATE TABLE untuk menambahkan kolom baru ke dalam tabel.
- JATUHKAN KOLOM: untuk menjatuhkanping kolom tabel. Batasan dan indeks yang diterapkan pada kolom juga akan dihapus.
- SETEL/HENTIKAN DEFAULTDigunakan untuk mengatur atau menghapus nilai default untuk suatu kolom. Perubahan hanya berlaku untuk perubahan selanjutnya. pernyataan MASUKKAN.
- SET/JATUHKAN BUKAN NULL: mengubah apakah suatu kolom mengizinkan nilai null atau tidak.
- STATISTIK HIMPUNAN: untuk menetapkan target pengumpulan statistik untuk setiap kolom untuk operasi ANALYZE.
- SETEL PENYIMPANAN: untuk mengatur mode penyimpanan untuk sebuah kolom, baik secara inline maupun dalam tabel tambahan.
- SET TANPA OIDDigunakan untuk menghapus kolom OID lama dari tabel.
- RENAME: untuk mengubah nama tabel atau nama kolom.
- TAMBAHKAN table_constraintDigunakan untuk menambahkan batasan baru ke tabel. Menggunakan sintaks yang sama dengan BUAT TABEL perintah.
- BATAS JATUH: digunakan untuk menjatuhkanping batasan tabel.
- PEMILIK: untuk mengubah pemilik tabel, urutan, indeks, atau tampilan ke pengguna tertentu.
- KLASTER: untuk menandai tabel yang akan digunakan untuk operasi klaster di masa mendatang.
Memodifikasi Kolom
Suatu kolom dapat dimodifikasi dengan berbagai cara. Modifikasi tersebut dilakukan menggunakan perintah ALTER TABLE. Mari kita bahas hal ini di bawah.
Menambahkan Kolom Baru
Untuk menambahkan kolom baru ke a PostgreSQL tabel, perintah ALTER TABLE digunakan dengan sintaks berikut:
ALTER TABLE table-name ADD new-column-name column-definition;
Nama tabel adalah nama tabel yang akan dimodifikasi. Nama kolom baru adalah nama kolom baru yang akan ditambahkan. Definisi kolom adalah tipe data dari kolom baru. Lihat tabel Buku yang ditunjukkan di bawah ini:
Tabel tersebut memiliki dua kolom, id dan nama. Kita perlu menambahkan kolom baru ke tabel dan memberinya nama author. Cukup jalankan perintah berikut:
ALTER TABLE Book ADD author VARCHAR(50);
Setelah menjalankan perintah di atas, tabel Book sekarang menjadi seperti berikut:
Kolom baru berhasil ditambahkan.
Mengganti Nama Kolom Tabel
Kita dapat menggunakan perintah ALTER TABLE untuk mengubah nama kolom. Dalam kasus ini, perintah tersebut digunakan dengan sintaks berikut:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Nama tabel adalah nama tabel yang kolomnya akan diganti namanya. Nama lama adalah nama kolom saat ini, dan nama baru adalah nama kolom yang baru. Perhatikan tabel Buku yang ditunjukkan di bawah ini:
Book:
Kita perlu mengubah nama kolom author menjadi book_author. Berikut perintahnya:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Setelah menjalankan perintah, kita dapat melihat struktur tabel:
Nama kolom berhasil diubah.
Menetapkan Nilai Default untuk Kolom
Kita dapat menetapkan nilai default untuk sebuah kolom sehingga meskipun Anda tidak menentukan nilai untuk kolom tersebut selama operasi INSERT, nilai default akan digunakan. Dalam hal ini, perintah ALTER TABLE dapat digunakan dengan sintaks berikut:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Nama tabel adalah nama tabel yang kolomnya akan dimodifikasi. Nama kolom adalah nama kolom yang nilai default-nya akan diatur, dan nilainya adalah nilai default untuk kolom tersebut. Perhatikan tabel Buku yang diberikan di bawah ini:
Kita perlu menetapkan nilai default untuk kolom book_author. Kita dapat menjalankan perintah berikut:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Sekarang, mari kita masukkan baris ke dalam tabel:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Perhatikan bahwa kami hanya memasukkan nilai untuk dua kolom, id dan name. Namun, nilai default telah digunakan untuk kolom book_author:
Menambahkan Batasan Cek
Batasan pemeriksaan membantu memvalidasi catatan yang dimasukkan ke dalam tabel. Kita dapat melakukannya dengan menggabungkan perintah ALTER TABLE dengan pernyataan ADD CHECK. Sintaksis:
ALTER TABLE table-name ADD CHECK expression;
Nama tabel adalah nama tabel yang akan diubah, dan ekspresi adalah batasan yang akan diterapkan pada kolom tabel. Mari kita ubah kolom book_author pada tabel Book sehingga hanya menerima nilai Nicholas dan Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Sekarang, mari kita coba memasukkan nilai selain Nicholas atau Samuel ke dalam kolom book_author pada tabel Book:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Pernyataan tersebut akan mengembalikan kesalahan berikut:
Operasi penyisipan gagal karena kami melanggar batasan pemeriksaan.
Mengganti Nama Tabel
Berikut adalah sintaks perintah ALTER TABLE untuk mengganti nama tabel:
ALTER TABLE table-name RENAME TO new-table-name;
Nama tabel adalah nama tabel saat ini, dan nama tabel baru adalah nama baru yang akan diberikan kepada tabel tersebut. Misalnya, mari kita ubah nama tabel Buku menjadi Buku-buku:
ALTER TABLE Book RENAME TO Books;
Menggunakan pgAdmin
Sejauh ini tindakan-tindakan tersebut telah dijalankan dari shell SQL. Sekarang mari kita lihat bagaimana tindakan-tindakan yang sama dapat dilakukan secara visual menggunakan pgAdmin.
Menambahkan Kolom Baru
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
ALTER TABLE Book ADD author VARCHAR(50);
Langkah 4) Klik tombol Jalankan.
Langkah 5) Untuk memeriksa apakah kolom telah ditambahkan, lakukan hal berikut:
- Klik Database dari navigasi kiri.
- Perluas Demo.
- Perluas Skema.
- Perluas Publik.
- Perluas Tabel.
- Perluas buku.
- Perluas Kolom.
Kolom seharusnya ditambahkan, seperti yang ditunjukkan di bawah ini:
Mengganti Nama Kolom Tabel
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Langkah 4) Klik tombol Jalankan.
Langkah 5) Untuk memeriksa apakah perubahan berhasil, perluas kolom tabel buku seperti sebelumnya:
Kolomnya sekarang harus seperti berikut:
Kolom berhasil diubah.
Menetapkan Nilai Default untuk Kolom
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Langkah 4) Klik tombol Jalankan.
Langkah 5) Untuk menguji, jalankan perintah berikut di editor kueri:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Langkah 6) Sekarang, kita dapat menanyakan tabel untuk memeriksa apakah nilai default telah dimasukkan ke dalam kolom book_author:
Menambahkan Batasan Cek
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Langkah 4) Klik tombol Jalankan.
Langkah 5) Untuk mengujinya, ketik kueri berikut di editor kueri dan klik tombol Eksekusi:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Ini akan mengembalikan hal berikut:
Mengganti Nama Tabel
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik Demo.
Langkah 3) Ketik kueri di editor kueri:
ALTER TABLE Book RENAME TO Books;
Langkah 4) Klik tombol Jalankan.
Langkah 5) Untuk memeriksa apakah tabel telah diganti namanya, perluas Databases > Demo > Schemas > Public > Tables:
Tabel berhasil diubah namanya.
Unduh Database yang digunakan dalam Tutorial ini

























