PostgreSQL ALTER Tabel: TAMBAHKAN Kolom, Ganti Nama Kolom/Tabel Contoh
Perintah ALTER TABLE digunakan untuk mengubah struktur a PostgreSQL meja. Ini adalah perintah yang digunakan untuk mengubah kolom tabel atau nama tabel.
Sintaksis
Berikut adalah sintaks untuk PostgreSQL Perintah ALTER TABLE:
ALTER TABLE table-name action;
Parameter nama tabel adalah nama tabel yang perlu Anda ubah.
Parameter tindakan adalah tindakan yang perlu Anda lakukan, seperti mengubah nama kolom, mengubah tipe data kolom, dll.
Description
Perintah ALTER TABLE mengubah definisi tabel yang sudah ada. Perintah ini mengambil subformulir berikut:
- TAMBAHKAN KOLOM: ini menggunakan sintaks yang mirip dengan perintah CREATE TABLE untuk menambahkan kolom baru ke tabel.
- JATUHKAN KOLOM: untuk menghapus kolom tabel. Batasan dan indeks yang dikenakan pada kolom juga akan dihilangkan.
- SETEL/HENTIKAN DEFAULT: Digunakan untuk menghapus nilai default kolom. Namun, perubahan tersebut hanya akan berlaku pada periode berikutnya pernyataan MASUKKAN.
- SET/JATUHKAN BUKAN NULL: Mengubah apakah kolom akan mengizinkan null atau tidak.
- TETAPKAN STATISTIK: Untuk menetapkan target pengumpulan statistik untuk setiap kolom untuk operasi ANALYZE.
- SETEL PENYIMPANAN: Untuk mengatur mode penyimpanan kolom. Ini akan menentukan di mana kolom tersebut disimpan, apakah sebaris, atau dalam tabel tambahan.
- SET TANPA OID: Digunakan untuk menghapus kolom tabel yang lama.
- RENAME: untuk mengubah nama tabel atau nama kolom.
- TAMBAHKAN table_constraint: Digunakan untuk menambahkan batasan baru ke tabel. Menggunakan sintaks yang sama seperti BUAT TABEL perintah.
- BATAS JATUH: Digunakan untuk menghilangkan batasan tabel.
- PEMILIK: untuk mengubah pemilik tabel, urutan, indeks atau tampilan ke pengguna tertentu.
- KLASTER: untuk menandai tabel yang akan digunakan untuk menjalankan operasi cluster di masa depan.
Memodifikasi kolom
Kolom dapat dimodifikasi dalam beberapa cara. Modifikasi tersebut dapat dilakukan dengan menggunakan perintah ALTER TABLE. Mari kita bahas ini:
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 diubah.
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 tersebut dan memberinya nama penulis. 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 lama/saat ini.
Nama baru adalah nama kolom yang baru. Perhatikan tabel Buku yang ditunjukkan di bawah ini:
Book:
Kita memerlukan nama penulis kolom ke book_author. Inilah 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 kolom sedemikian rupa sehingga meskipun Anda tidak menentukan nilai untuk kolom tersebut selama operasi INSERT, nilai default akan tetap digunakan. Dalam kasus 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 diubah.
Nama kolom adalah nama yang nilai defaultnya akan ditetapkan.
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 nama. 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.
Ekspresi adalah batasan yang diterapkan pada kolom tabel.
Mari kita modifikasi 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.
Nama-tabel-baru adalah nama baru yang akan diberikan ke tabel.
Sebagai contoh, mari kita ubah nama tabel Buku menjadi Buku:
ALTER TABLE Book RENAME TO Books;
Menggunakan pgAdmin
Sekarang mari kita lihat bagaimana tindakan ini dapat dilakukan menggunakan pgAdmin.
Menambahkan kolom Baru
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
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
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
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, lakukan hal berikut:
- Klik Database dari navigasi kiri.
- Perluas Demo.
- Perluas Skema.
- Perluas Publik.
- Perluas Tabel.
- Perluas buku.
- Perluas Kolom.
Kolomnya sekarang harus seperti berikut:
Kolom berhasil diubah.
Menetapkan Nilai Default untuk Kolom
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
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 pada 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
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
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, lakukan hal berikut:
- Ketik pertanyaan berikut pada editor pertanyaan:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
- Klik tombol Jalankan.
Ini akan mengembalikan hal berikut:
Mengganti Nama Tabel
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
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 nama, lakukan hal berikut:
- Klik Database dari navigasi kiri.
- Perluas Demo.
- Perluas Skema.
- Perluas Publik.
- Perluas Tabel.
Tabel berhasil diubah namanya.
Ringkasan
- Pernyataan ALTER TABLE digunakan untuk mengubah struktur tabel.
- Perintah ALTER TABLE memiliki berbagai bentuk tergantung pada tugas yang perlu Anda lakukan.
- Strukturnya dapat berupa kolom tabel atau tabel itu sendiri.
- Kita dapat menggunakan pernyataan ini untuk mengubah nama tabel.
- Perintah ALTER TABLE dapat digunakan untuk mengatur nilai default kolom.
- Pernyataan tersebut dapat digunakan untuk memvalidasi nilai yang dimasukkan ke dalam kolom tabel.
Unduh Database yang digunakan dalam Tutorial ini