Tabel ALTER PostgreSQL: TAMBAHKAN Kolom, Ganti Nama Kolom / Contoh Tabel

Daftar Isi:

Anonim

Perintah ALTER TABLE digunakan untuk mengubah struktur tabel PostgreSQL. Ini adalah perintah yang digunakan untuk mengubah kolom tabel atau nama tabel.

Dalam tutorial ini, Anda akan mempelajari:

  • Sintaksis
  • Deskripsi
  • Mengubah kolom
    • Menambahkan kolom baru
    • Mengganti Nama Kolom Tabel
  • Mengatur Nilai Default untuk Kolom
  • Menambahkan Batasan Centang
  • Mengganti Nama Tabel
  • Menggunakan pgAdmin

Sintaksis

Berikut adalah sintaks untuk perintah PostgreSQL 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.

Deskripsi

Perintah ALTER TABLE mengubah definisi tabel yang sudah ada. Dibutuhkan subformulir berikut:

  • TAMBAHKAN KOLOM : ini menggunakan sintaks yang mirip dengan perintah CREATE TABLE untuk menambahkan kolom baru ke tabel.
  • DROP COLUMN : untuk menjatuhkan kolom tabel. Batasan dan indeks yang dikenakan pada kolom juga akan dihilangkan.
  • SET / DROP DEFAULT : Gunakan untuk menghapus nilai default untuk kolom. Namun, perubahan hanya akan berlaku untuk pernyataan INSERT berikutnya.
  • SET / DROP NOT NULL : Mengubah apakah kolom akan mengizinkan nulls atau tidak.
  • ATUR STATISTIK: Untuk menetapkan target pengumpulan statistik untuk setiap kolom untuk operasi ANALISIS.
  • SET STORAGE : Untuk mengatur mode penyimpanan kolom. Ini akan menentukan di mana kolom disimpan, apakah sebaris, atau dalam tabel tambahan.
  • SET TANPA OIDS : Gunakan untuk menghapus kolom lama dari tabel.
  • RENAME : untuk mengganti nama tabel atau nama kolom.
  • ADD table_constraint : Gunakan untuk menambahkan batasan baru ke tabel Ini menggunakan sintaks yang sama seperti perintah CREATE TABLE.
  • BATAS LEPAS : Gunakan untuk menghilangkan batasan tabel.
  • PEMILIK : untuk mengubah pemilik tabel, urutan, indeks atau tampilan ke pengguna tertentu.
  • CLUSTER : untuk menandai tabel yang akan digunakan untuk menjalankan operasi cluster di masa mendatang.

Mengubah kolom

Kolom dapat dimodifikasi dengan beberapa cara. Modifikasi tersebut dapat dilakukan dengan menggunakan perintah ALTER TABLE. Mari kita bahas ini:

Menambahkan kolom baru

Untuk menambahkan kolom baru ke tabel PostgreSQL, perintah ALTER TABLE digunakan dengan sintaks berikut:

ALTER TABLE table-nameADD 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 memiliki dua kolom, id, dan name. Kita perlu menambahkan kolom baru ke tabel dan memberinya nama penulis. Jalankan saja perintah berikut:

ALTER TABLE BookADD author VARCHAR(50);

Setelah menjalankan perintah di atas, tabel Book sekarang menjadi sebagai berikut:

Kolom baru berhasil ditambahkan.

Mengganti Nama Kolom Tabel

Kita bisa menggunakan perintah ALTER TABLE untuk mengubah nama kolom. Dalam kasus ini, perintah digunakan dengan sintaks berikut:

ALTER TABLE table-nameRENAME COLUMN old-name TO new-name;

Nama tabel adalah nama tabel yang kolomnya akan diganti namanya.

Nama-lama adalah nama kolom yang lama / saat ini.

Nama baru adalah nama baru kolom tersebut. Perhatikan tabel Buku yang ditunjukkan di bawah ini:

Book:

Kita membutuhkan nama penulis kolom menjadi penulis_buku. Ini perintahnya:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Setelah menjalankan perintah, kita dapat melihat struktur tabel:

Nama kolom berhasil diubah.

Mengatur Nilai Default untuk Kolom

Kami dapat menyetel nilai default untuk kolom sedemikian rupa 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 diubah.

Nama kolom adalah nama yang nilai default-nya akan ditetapkan.

Nilainya adalah nilai default untuk kolom tersebut.

Pertimbangkan tabel Buku yang diberikan di bawah ini:

Kita perlu menyetel nilai default untuk kolom book_author. Kami 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 memasukkan nilai hanya untuk dua kolom, id dan nama. Namun, nilai default telah digunakan untuk kolom book_author:

Menambahkan Batasan Centang

Batasan cek membantu dalam memvalidasi catatan yang dimasukkan ke dalam tabel. Kita dapat melakukan ini 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 tersebut 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 kolom book_author pada tabel Book:

INSERT INTO BookVALUES(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 untuk perintah ALTER TABLE untuk mengganti nama tabel:

ALTER TABLE table-nameRENAME TO new-table-name;

Nama tabel adalah nama tabel saat ini.

Nama-tabel baru adalah nama baru yang akan diberikan ke tabel.

Misalnya, mari kita ubah nama tabel Buku menjadi Buku:

ALTER TABLE BookRENAME 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.

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE BookADD author VARCHAR(50);

Langkah 4) Klik tombol Execute.

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

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

Kolom tersebut harus sudah 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)

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

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Langkah 4) Klik tombol Execute.

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

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

Kolomnya sekarang harus seperti berikut:

Kolom berhasil diubah.

Mengatur 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.

Langkah 3) Ketik kueri di editor kueri:

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

Langkah 4) Klik tombol Execute.

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 meminta tabel untuk memeriksa apakah nilai default telah dimasukkan ke kolom book_author:

Menambahkan Batasan Centang

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.

Langkah 3) Ketik kueri di editor kueri:

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

Langkah 4) Klik tombol Execute.

Langkah 5) Untuk mengujinya, lakukan hal berikut:

  1. Ketik kueri berikut di editor kueri:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Klik tombol Jalankan.

    Ini akan mengembalikan yang berikut:

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.

Langkah 3) Ketik kueri di editor kueri:

ALTER TABLE BookRENAME TO Books;

Langkah 4) Klik tombol Execute.

Langkah 5) Untuk memeriksa apakah tabel telah diubah namanya, lakukan hal berikut:

  1. Klik Database dari navigasi kiri.
  2. Luaskan Demo.
  3. Perluas Skema.
  4. Perluas Publik.
  5. Luaskan 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.
  • Pernyataan ini dapat kita gunakan 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 Basis Data yang digunakan dalam Tutorial ini