Tutorial MySQL ini menjelaskan cara menggunakan UNIQUE CONSTRAINTS di MySQL dengan sintaks dan contoh.
Apa itu UNIQUE CONSTRAINTS di MySQL?
UNIQUE CONSTRAINTS atau kendala unik adalah bidang tunggal atau kombinasi bidang yang secara unik mendefinisikan catatan. Beberapa bidang dapat berisi nilai nol selama kombinasi nilai unik.
Apa perbedaan antara UNIQUE CONSTRAINTS dan PRIMARY KEY?
Primary Key | Unique Constraint |
---|---|
Tak satu pun dari bidang yang merupakan bagian dari kunci primer dapat berisi nilai nol. | Beberapa bidang yang merupakan bagian dari kendala unik dapat berisi nilai nol selama kombinasi nilai unik. |
Membuat unique Constraints – Menggunakan Statement CREATE TABLE
Syntax untuk membuat unique Constraints menggunakan statement CREATE TABLE di MySQL adalah:
1 2 3 4 5 6 7 8 |
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... CONSTRAINT constraint_name UNIQUE (uc_col1, uc_col2, ... uc_col_n) ); |
- table_name
- Nama table yang mau dibuat dengan statement CREATE TABLE
- column1, column2
- kolom yang mau dibuat di dalam table
- constraint_name
- nama Unique CONSTRAINTS
- uc_col1, uc_col2, … uc_col_n
- Kolom yang membentuk batasan unik (unique constraints)
Membuat unique constraint – Menggunakan Statement ALTER TABLE MySQL
Syntax untuk membuat batasan unik menggunakan pernyataan ALTER TABLE di MySQL adalah:
1 2 |
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n); |
- table_name
- Nama tabel untuk dimodifikasi. Ini adalah tabel yang ingin Anda tambahkan unique constraints.
- constraint_name
- Nama unique constraints
- column1, column2, … column_n
- Kolom yang ingin diubah menjadi unique constraints
Menghapus Unique Constraints
Syntax untuk menghapus Unique constraints di MySQL adalah:
1 2 |
ALTER TABLE table_name DROP INDEX constraint_name; |
- table_name
- Nama tabel untuk dimodifikasi. Ini adalah tabel yang teman-teman ingin hapus unique constraints -nya.
- constraint_name
- Nama unique constraint yang mau dihapus.
Contoh – Membuat UNIQUE CONSTRAINTS di MySQL
Mari kita lihat contoh bagaimana membuat unique constraints di MySQL menggunakan pernyataan CREATE TABLE.
1 2 3 4 5 6 7 8 |
CREATE TABLE contacts ( contact_id INT(11) PRIMARY KEY AUTO_INCREMENT, reference_number INT(11) NOT NULL, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_unique UNIQUE (contact_id) ); |
Dalam contoh ini, kami telah membuat batasan unik pada tabel kontak yang disebut contacts_unique. Ini hanya terdiri dari satu bidang – field reference_number.
Kami juga dapat membuat unique constraint dengan lebih dari satu bidang seperti pada contoh di bawah ini:
1 2 3 4 5 6 7 8 |
CREATE TABLE contacts ( contact_id INT(11) PRIMARY KEY AUTO_INCREMENT, reference_number INT(11) NOT NULL, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, CONSTRAINT contacts_unique UNIQUE (last_name, first_name) ); |