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:

Menambahkan kolom baru di PostgreSQL

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:

Menambahkan kolom baru di PostgreSQL

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:

Mengganti Nama Kolom Tabel di PostgreSQL

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:

Mengganti Nama Kolom Tabel di PostgreSQL

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:

Menetapkan Nilai Default untuk Kolom

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:

Menetapkan Nilai Default untuk Kolom

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:

Menambahkan Batasan Cek

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)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Menambahkan kolom Baru Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE Book
  ADD author VARCHAR(50);

Langkah 4) Klik tombol Jalankan.

Menambahkan kolom Baru Menggunakan pgAdmin

Langkah 5) Untuk memeriksa apakah kolom telah ditambahkan, lakukan hal berikut:

  1. Klik Database dari navigasi kiri.
  2. Perluas Demo.
  3. Perluas Skema.
  4. Perluas Publik.
  5. Perluas Tabel.
  6. Perluas buku.
  7. Perluas Kolom.

Menambahkan kolom Baru Menggunakan pgAdmin

Kolom seharusnya ditambahkan, seperti yang ditunjukkan di bawah ini:

Menambahkan kolom Baru Menggunakan pgAdmin

Mengganti Nama Kolom Tabel

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Mengganti Nama Kolom Tabel Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

Langkah 4) Klik tombol Jalankan.

Mengganti Nama Kolom Tabel Menggunakan pgAdmin

Langkah 5) Untuk memeriksa apakah perubahan berhasil, lakukan hal berikut:

  1. Klik Database dari navigasi kiri.
  2. Perluas Demo.
  3. Perluas Skema.
  4. Perluas Publik.
  5. Perluas Tabel.
  6. Perluas buku.
  7. Perluas Kolom.

Mengganti Nama Kolom Tabel Menggunakan pgAdmin

Kolomnya sekarang harus seperti berikut:

Mengganti Nama Kolom Tabel Menggunakan pgAdmin

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)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Menetapkan Nilai Default untuk Kolom

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

Langkah 4) Klik tombol Jalankan.

Menetapkan Nilai Default untuk Kolom

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:

Menetapkan Nilai Default untuk Kolom

Menambahkan Batasan Cek

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Menambahkan Batasan Cek Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Langkah 4) Klik tombol Jalankan.

Menambahkan Batasan Cek Menggunakan pgAdmin

Langkah 5) Untuk mengujinya, lakukan hal berikut:

  1. Ketik pertanyaan berikut pada editor pertanyaan:
    INSERT INTO Book
    VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
    
  2. Klik tombol Jalankan.

    Menambahkan Batasan Cek Menggunakan pgAdmin

    Ini akan mengembalikan hal berikut:

Menambahkan Batasan Cek Menggunakan pgAdmin

Mengganti Nama Tabel

Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Masuk ke akun pgAdmin Anda.

Langkah 2)

  1. Dari bilah navigasi di sebelah kiri- Klik Database.
  2. Klik Demo.

Mengganti Nama Tabel Menggunakan pgAdmin

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE Book
  RENAME TO Books;

Langkah 4) Klik tombol Jalankan.

Mengganti Nama Tabel Menggunakan pgAdmin

Langkah 5) Untuk memeriksa apakah tabel telah diganti nama, lakukan hal berikut:

  1. Klik Database dari navigasi kiri.
  2. Perluas Demo.
  3. Perluas Skema.
  4. Perluas Publik.
  5. Perluas Tabel.

Mengganti Nama Tabel Menggunakan pgAdmin

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