Tambahkan Kolom PostgreSQL

Setelah membuat database dan mengisinya dengan informasi, Anda jarang perlu mengubah struktur database. Hal berulang yang akan Anda lakukan adalah menambah atau mengambil catatan yang disimpan dalam database. Namun, ada kasus yang jarang terjadi di mana Anda mungkin perlu menambahkan kolom baru dan mengisinya dengan data.

Dalam panduan ini, kita akan melihat cara mengubah tabel PostgreSQL dan menambahkan kolom.

Penggunaan Dasar

Untuk menambahkan kolom ke tabel, pertama-tama kita perlu menentukan “ubah kueri” diikuti dengan nama tabel.

Kita dapat mengekspresikan sintaks umum untuk menambahkan kolom sebagai:

ALTER TABLE table_name ADD COLUMN IF NOT EXISTS column_name DATA_TYPE

Dalam sintaks yang diwakili di atas, kita mulai dengan memanggil kueri ALTER TABLE diikuti dengan nama tabel yang ingin kita tambahkan kolomnya. Selanjutnya, tentukan nama kolom setelah pernyataan ADD COLUMN.

Meskipun pernyataan JIKA TIDAK ADA adalah opsional, ini bisa menjadi cara yang berguna untuk menghindari error jika ada kolom dengan nama yang mirip.

Akhirnya, kami menentukan tipe data kolom dan batasan kolom.

Anda juga dapat menambahkan beberapa kolom dengan menentukan nama, tipe data, dan batasannya satu demi satu (dipisahkan dengan koma).

CATATAN: PostgreSQL menambahkan kolom baru ke akhir tabel karena tidak memiliki metode untuk menentukan posisi kolom. Oleh karena itu, untuk membuat tata letak kolom baru di tabel PostgreSQL, Anda harus membuat ulang tabel baru atau menggunakan tampilan.

Contoh

Mari tambahkan kolom ke tabel kota di database sakila.

ALTER TABLE city ADD COLUMN city_code VARCHAR(20);

Kueri di atas menambahkan kolom city_code ke tabel kota. Anda dapat memverifikasi dengan menggunakan pernyataan pilih sebagai:

SELECT * from city LIMIT 5;

Seperti yang ditunjukkan pada tangkapan layar di bawah, kueri di atas harus mengembalikan catatan di tabel kota dengan kolom baru:

Untuk menambahkan beberapa kolom secara bersamaan, tentukan nilai kolom dalam daftar sebagai:

ALTER TABLE city

ADD COLUMN IF NOT EXISTS population SERIAL NOT NULL,

ADD COLUMN IF NOT EXISTS streets VARCHAR(255),

ADD COLUMN other INT;

Kueri di atas harus menambahkan tiga kolom secara berurutan seperti yang ditentukan. Urutan penambahan kolom ke tabel adalah seperti yang ditentukan.

Misalnya, dalam kueri di atas, kolom populasi akan muncul sebelum jalan.

Pada contoh sebelumnya, semua kolom yang ditambahkan berisi nilai NULL. Untuk menentukan nilai placeholder, kita dapat menggunakan kata kunci DEFAULT.

Perhatikan kolom kode kota. Mari kita mulai dengan menjatuhkan kolom.

ALTER TABLE city DROP COLUMN city_code;

Selanjutnya, tambahkan kolom dengan kata kunci ADD COLUMN; nilai default ada di kueri di bawah ini:

CATATAN : Kolom city_code akan berada di akhir tabel.

ALTERTABLE city ADDCOLUMNcity_codeVARCHAR(20) DEFAULT 'AA';

Dalam contoh di atas, PostgreSQL akan menggunakan nilai default yang ditentukan untuk mengisi nilai kolom kode_kota.

Menggunakan nilai default yang ditentukan dapat berguna ketika kolom memiliki batasan NOT NULL.

Menambahkan kolom dapat menggunakan tipe data PostgreSQL apa pun yang didukung. Misalnya, berikut ini berisi kolom nilai Boolean.

ALTER TABLE city ADD COLUMN IF NOT EXISTS is_active BOOLEAN NOT NULL DEFAULT true;

CATATAN: Karena PostgreSQL akan menambahkan nilai NULL ke kolom jika tidak ada nilai default yang ditentukan, ada baiknya menambahkan nilai default. Jika tidak, PostgreSQL akan mengembalikan error!

Sebagai contoh, kita dapat membuat tabel sebagai:

ALTER TABLE city DROP COLUMN no_null

ALTER TABLE city ADD COLUMN IF NOT EXISTS no_null BOOLEAN NOT NULL;

Dalam hal ini, kita akan mendapatkan SQL State 23502.

ERROR: column "no_null" of relation "city" contains null values
SQL state: 23502

SQL State 23502 menunjukkan bahwa operasi (UPDATE, SET OR INSERT adalah NULL tetapi objek tidak menerima nilai NULL).

Kesimpulan

Tutorial ini telah memandu Anda melalui cara menggunakan dan bekerja dengan kueri ADD COLUMN di PostgreSQL, memungkinkan Anda menambahkan kolom ke tabel yang ada.

Related Posts