Tutorial PostgreSQL ini menjelaskan cara membuat, menjatuhkan, menonaktifkan, dan mengaktifkan kunci utama di PostgreSQL dengan sintaks dan contoh
Apa itu kunci utama di PostgreSQL?
Di PostgreSQL, kunci utama adalah satu bidang atau kombinasi bidang yang secara unik mendefinisikan catatan. Tak satu pun bidang yang merupakan bagian dari kunci utama dapat berisi nilai NULL. Sebuah tabel hanya dapat memiliki satu kunci utama
Catatan
- Di PostgreSQL, kunci utama dibuat menggunakan pernyataan CREATE TABLE atau pernyataan ALTER TABLE
- Anda menggunakan pernyataan ALTER TABLE di PostgreSQL untuk menambah atau melepaskan kunci utama
Buat Kunci Utama - Menggunakan pernyataan CREATE TABLE
Anda dapat membuat kunci utama di PostgreSQL dengan pernyataan CREATE TABLE
Sintaksis
Sintaks untuk membuat primary key menggunakan pernyataan CREATE TABLE di PostgreSQL adalah
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... CONSTRAINT constraint_name PRIMARY KEY (index_col1, index_col2, .. index_col_n) );ATAU
Contoh
Mari kita lihat contoh cara membuat primary key menggunakan pernyataan CREATE TABLE di PostgreSQL
CREATE TABLE order_details ( order_detail_id integer NOT NULL, order_id integer NOT NULL, order_date date, quantity integer, notes varchar(200), CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id) );Atau Anda juga dapat membuat kunci utama pada tabel order_details menggunakan sintaks berikut
CREATE TABLE order_details ( order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY, order_id integer NOT NULL, order_date date, quantity integer, notes varchar(200) );Dalam dua contoh ini, kami telah membuat kunci utama pada tabel order_details yang disebut order_details_pk. Ini hanya terdiri dari satu kolom - kolom order_detail_id
Kita juga bisa membuat primary key dengan lebih dari satu field seperti pada contoh di bawah ini
CREATE TABLE order_details ( order_date date NOT NULL, customer_id integer NOT NULL, quantity integer, notes varchar(200), CONSTRAINT order_details_pk PRIMARY KEY (order_date, customer_id) );_Contoh ini membuat kunci utama yang disebut order_details_pk yang terdiri dari kombinasi kolom order_date dan customer_id. Jadi setiap kombinasi order_date dan customer_id harus unik di tabel order_details
Buat Kunci Utama - Menggunakan pernyataan ALTER TABLE
Anda dapat membuat kunci utama di PostgreSQL dengan pernyataan ALTER TABLE
Sintaksis
Sintaks untuk membuat primary key menggunakan pernyataan ALTER TABLE di PostgreSQL adalah
ALTER TABLE table_name ADD CONSTRAINT [ constraint_name ] PRIMARY KEY (index_col1, index_col2, .. index_col_n)table_nameNama tabel yang akan dimodifikasi. constraint_nameNama kunci utama. indeks_kol1, indeks_kol2,. index_col_nKolom yang membentuk primary keyContoh
Mari kita lihat contoh cara membuat primary key menggunakan pernyataan ALTER TABLE di PostgreSQL
ALTER TABLE order_details ADD CONSTRAINT order_details_pk PRIMARY KEY (order_detail_id);_Dalam contoh ini, kami telah membuat kunci utama pada tabel order_details yang ada bernama order_details_pk. Ini terdiri dari kolom order_detail_id
Kita juga bisa membuat primary key dengan lebih dari satu field seperti pada contoh di bawah ini
ALTER TABLE order_details ADD CONSTRAINT order_details_pk PRIMARY KEY (order_date, customer_id);Contoh ini kami telah membuat kunci utama yang disebut contacts_pk yang terdiri dari kombinasi kolom last_name dan first_name
Jatuhkan Kunci Utama
Anda dapat menjatuhkan kunci utama di PostgreSQL menggunakan pernyataan ALTER TABLE
Sintaksis
Sintaks untuk menjatuhkan kunci utama di PostgreSQL adalah
ALTER TABLE table_name DROP CONSTRAINT constraint_name;table_nameNama tabel yang akan dimodifikasi. constraint_nameNama kunci utama yang ingin Anda jatuhkanContoh
Mari kita lihat contoh bagaimana menjatuhkan primary key menggunakan pernyataan ALTER TABLE di PostgreSQL
ALTER TABLE order_details DROP CONSTRAINT order_details_pk;_Dalam contoh ini, kami telah menjatuhkan kunci utama pada tabel kontak. Kami tidak perlu menentukan nama kunci utama karena hanya ada satu di atas meja