Jadual PostgreSQL ALTER: ADD Column, Rename Column / Table Contoh

Isi kandungan:

Anonim

Perintah ALTER TABLE digunakan untuk mengubah struktur jadual PostgreSQL. Ini adalah perintah yang digunakan untuk mengubah lajur jadual atau nama jadual.

Dalam tutorial ini, anda akan belajar:

  • Sintaks
  • Penerangan
  • Mengubah lajur
    • Menambah lajur Baru
    • Menamakan semula Lajur Jadual
  • Menetapkan Nilai Lalai untuk Lajur
  • Menambah Kekangan Semak
  • Menamakan semula Jadual
  • Menggunakan pgAdmin

Sintaks

Berikut adalah sintaks untuk arahan PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Parameter nama-jadual adalah nama jadual yang perlu anda ubah.

Parameter tindakan adalah tindakan yang perlu Anda lakukan, seperti mengubah nama lajur, mengubah jenis data lajur, dll.

Penerangan

Perintah ALTER TABLE mengubah definisi jadual yang ada. Ia memerlukan subformasi berikut:

  • TAMBAHKAN COLUMN : ini menggunakan sintaks yang serupa dengan perintah CREATE TABLE untuk menambahkan lajur baru ke jadual.
  • DROP COLUMN : untuk menjatuhkan lajur jadual. Kekangan dan indeks yang dikenakan pada lajur juga akan dijatuhkan.
  • SET / DROP DEFAULT : Gunakan untuk membuang nilai lalai untuk lajur. Walau bagaimanapun, perubahan tersebut hanya akan berlaku untuk penyataan INSERT berikutnya.
  • SET / DROP NOT NULL : Menukar sama ada lajur akan membenarkan null atau tidak.
  • SET STATISTIK: Untuk menetapkan sasaran pengumpulan statistik untuk setiap lajur untuk ANALISIS operasi.
  • SET PENYIMPANAN : Untuk menetapkan mod penyimpanan untuk lajur. Ini akan menentukan tempat lajur dipegang, sama ada sebaris, atau dalam jadual tambahan.
  • SET TANPA OID : Gunakan untuk membuang lajur lama jadual.
  • RENAME : untuk menukar nama jadual atau nama lajur.
  • TAMBAH table_constraint : Gunakan untuk menambahkan kekangan baru ke jadual Ia menggunakan sintaks yang sama dengan perintah CREATE TABLE
  • DROP CONSTRAINT : Gunakan untuk menjatuhkan kekangan jadual.
  • PEMILIK : untuk menukar pemilik jadual, urutan, indeks atau pandangan kepada pengguna tertentu.
  • CLUSTER : untuk menandakan jadual yang akan digunakan untuk menjalankan operasi kluster masa depan.

Mengubah lajur

Lajur boleh diubah dalam beberapa cara. Pengubahsuaian seperti itu dapat dilakukan dengan menggunakan perintah ALTER TABLE. Mari kita bincangkan ini:

Menambah lajur Baru

Untuk menambahkan lajur baru ke jadual PostgreSQL, perintah ALTER TABLE digunakan dengan sintaks berikut:

ALTER TABLE table-nameADD new-column-name column-definition;

Nama jadual adalah nama jadual yang akan diubah suai.

Nama-lajur baru adalah nama lajur baru yang akan ditambahkan.

Definisi lajur adalah jenis data lajur baru.

Lihat jadual Buku yang ditunjukkan di bawah:

Jadual mempunyai dua lajur, id, dan nama. Kita perlu menambahkan lajur baru ke jadual dan memberikannya nama pengarang. Jalankan arahan berikut:

ALTER TABLE BookADD author VARCHAR(50);

Setelah menjalankan perintah di atas, jadual Buku sekarang adalah seperti berikut:

Lajur baru berjaya ditambahkan.

Menamakan semula Lajur Jadual

Kita boleh menggunakan perintah ALTER TABLE untuk menukar nama lajur. Dalam kes ini, perintah digunakan dengan sintaks berikut:

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

Nama jadual adalah nama jadual yang lajurnya akan diganti namanya.

Nama lama adalah nama lama / semasa lajur.

Nama baru adalah nama lajur baru. Pertimbangkan jadual Buku yang ditunjukkan di bawah:

Buku:

Kami memerlukan nama pengarang lajur untuk book_author. Inilah arahannya:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Setelah menjalankan perintah, kita dapat melihat struktur jadual:

Nama lajur berjaya ditukar.

Menetapkan Nilai Lalai untuk Lajur

Kami dapat menetapkan nilai lalai untuk lajur sehingga walaupun anda tidak menentukan nilai untuk lajur itu semasa INSERT operasi, nilai lalai akan digunakan. Dalam kes ini, perintah ALTER TABLE boleh digunakan dengan sintaks berikut:

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

Nama jadual adalah nama jadual yang lajurnya akan diubah suai.

Nama lajur adalah nama untuk nilai lalai yang akan ditetapkan.

Nilai adalah nilai lalai untuk lajur.

Pertimbangkan jadual Buku yang diberikan di bawah:

Kita perlu menetapkan nilai lalai untuk ruangan book_author. Kita boleh menjalankan perintah berikut:

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

Sekarang, mari kita masukkan baris ke dalam jadual:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners');

Perhatikan bahawa kami memasukkan nilai hanya untuk dua lajur, id dan nama. Walau bagaimanapun, nilai lalai telah digunakan untuk ruangan book_author:

Menambah Kekangan Semak

Kekangan cek membantu mengesahkan rekod yang dimasukkan ke dalam jadual. Kita boleh melakukan ini dengan menggabungkan perintah ALTER TABLE dengan pernyataan ADD CHECK. Sintaks:

ALTER TABLE table-name ADD CHECK expression;

Nama jadual adalah nama jadual yang akan diubah.

Ungkapan adalah kekangan yang akan dikenakan pada lajur jadual.

Mari kita ubah kolom book_author dari buku Book sehingga hanya menerima nilai, Nicholas dan Samuel:

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

Sekarang, mari kita cuba memasukkan nilai selain Nicholas atau Samuel ke ruangan_pengarang jadual Buku:

INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Penyataan tersebut akan mengembalikan ralat berikut:

Operasi sisipan gagal kerana kami melanggar kekangan pemeriksaan.

Menamakan semula Jadual

Berikut adalah sintaks untuk arahan ALTER TABLE untuk menamakan semula jadual:

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

Nama jadual adalah nama jadual semasa.

Nama-jadual-baru adalah nama baru yang akan diberikan kepada jadual.

Sebagai contoh, marilah kita menukar nama jadual Buku menjadi Buku:

ALTER TABLE BookRENAME TO Books;

Menggunakan pgAdmin

Sekarang mari kita lihat bagaimana tindakan ini dapat dilakukan menggunakan pgAdmin.

Menambah lajur Baru

Untuk mencapai perkara yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

ALTER TABLE BookADD author VARCHAR(50);

Langkah 4) Klik butang Laksanakan.

Langkah 5) Untuk memeriksa sama ada lajur ditambahkan, lakukan perkara berikut:

  1. Klik Pangkalan Data dari navigasi kiri.
  2. Kembangkan Demo.
  3. Luaskan Skema.
  4. Kembangkan Awam.
  5. Kembangkan Jadual.
  6. Kembangkan buku.
  7. Kembangkan Lajur.

Lajur seharusnya ditambahkan, seperti yang ditunjukkan di bawah:

Menamakan semula Lajur Jadual

Untuk mencapai perkara yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Langkah 4) Klik butang Laksanakan.

Langkah 5) Untuk memeriksa sama ada perubahan berjaya, lakukan perkara berikut:

  1. Klik Pangkalan Data dari navigasi kiri.
  2. Kembangkan Demo.
  3. Luaskan Skema.
  4. Kembangkan Awam.
  5. Kembangkan Jadual.
  6. Kembangkan buku.
  7. Kembangkan Lajur.

Lajur sekarang harus seperti berikut:

Lajur berjaya diubah.

Menetapkan Nilai Lalai untuk Lajur

Untuk mencapai perkara yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

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

Langkah 4) Klik butang Laksanakan.

Langkah 5) Untuk menguji, jalankan arahan berikut pada editor pertanyaan:

INSERT INTO Book (id, name)VALUES (6, 'PostgreSQL for Beginners')

Langkah 6) Sekarang, kita boleh bertanya jadual untuk memeriksa sama ada nilai lalai dimasukkan di lajur book_author:

Menambah Kekangan Semak

Untuk mencapai perkara yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

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

Langkah 4) Klik butang Laksanakan.

Langkah 5) Untuk menguji ini, lakukan perkara berikut:

  1. Taipkan pertanyaan berikut pada editor pertanyaan:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Klik butang Laksanakan.

    Ia akan mengembalikan perkara berikut:

Menamakan semula Jadual

Untuk mencapai perkara yang sama melalui pgAdmin, lakukan ini:

Langkah 1) Log masuk ke akaun pgAdmin anda.

Langkah 2)

  1. Dari bar navigasi di sebelah kiri- Klik Pangkalan Data.
  2. Klik Demo.

Langkah 3) Taipkan pertanyaan dalam editor pertanyaan:

ALTER TABLE BookRENAME TO Books;

Langkah 4) Klik butang Laksanakan.

Langkah 5) Untuk memeriksa sama ada jadual dinamakan semula, lakukan perkara berikut:

  1. Klik Pangkalan Data dari navigasi kiri.
  2. Kembangkan Demo.
  3. Luaskan Skema.
  4. Kembangkan Awam.
  5. Kembangkan Jadual.

Jadual berjaya dinamakan semula.

Ringkasan:

  • Pernyataan ALTER TABLE digunakan untuk mengubah struktur jadual.
  • Perintah ALTER TABLE mengambil pelbagai bentuk bergantung pada tugas yang perlu anda laksanakan.
  • Strukturnya boleh menjadi lajur meja atau jadual itu sendiri.
  • Kita boleh menggunakan pernyataan ini untuk menukar nama jadual.
  • Perintah ALTER TABLE dapat digunakan untuk menetapkan nilai lalai pada lajur.
  • Pernyataan tersebut dapat digunakan untuk mengesahkan nilai yang dimasukkan ke dalam lajur jadual.

Muat turun Pangkalan Data yang digunakan dalam Tutorial ini