MySQL MariaDB

Menggunakan Kendala Unik MySQL

Menggunakan Kendala Unik MySQL
MySQL CONSTRAINT sedang dibuang untuk menggambarkan aturan yang mengizinkan atau membatasi nilai dalam bidang yang dapat menampung atau membatasi data yang dapat dimasukkan ke dalam baris. Tujuan memberlakukan pembatasan adalah untuk menjaga kredibilitas database. Salah satunya adalah kendala UNIK.

Pembatasan UNIK menjamin bahwa hampir semua elemen dalam suatu bidang berbeda satu sama lain. Untuk bidang atau grup bidang, batas UNIK dan KUNCI UTAMA saling memiliki jaminan individualitas. Kami mungkin, bagaimanapun, memiliki beberapa batasan UNIK di setiap tabel, meskipun satu KUNCI UTAMA membatasi untuk setiap tabel sebagai gantinya. Mari kita pelajari dengan mencoba beberapa contoh.

Kendala Unik melalui Workbench:

Pertama-tama, kita harus belajar tentang cara menambahkan batasan Unik ke tabel saat menggunakan MySQL Workbench 8.0. Buka MySQL Workbench 8 yang baru Anda instal.0 dan hubungkan ke database.

Di area kueri, Anda harus menulis perintah di bawah ini untuk membuat tabel 'Orang'. Tabel ini memiliki 4 kolom dengan satu kunci utama. Kita harus menentukan satu kolom unik. Seperti yang Anda lihat, kami telah mengosongkan kolom 'Id' sebagai kolom 'UNIK':

>> CREATE TABLE Person (ID int PRIMARY KEY NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, UNIQUE(ID));

Sekarang tabel “Orang” telah dibuat dengan kolom “UNIK” nya “ID”. Anda dapat menemukan tabel di bawah "Navigator" dan "Skema" saat terdaftar di opsi "Tabel".

Saat memasukkan catatan, ketika Anda mengetuk tombol "Terapkan", itu akan meninjau catatan yang dimasukkan seperti yang ditunjukkan di bawah ini. Anda dapat melihat kami memiliki satu rekaman duplikat di baris 3, dan 4 yang memiliki "ID" yang sama. Ketuk tombol "Terapkan" untuk menerapkan perubahan.

Pada gambar di bawah ini, itu menghasilkan kesalahan bahwa kolom "ID" telah digandakan, yang merupakan nilai "13".

Setelah mengoreksi catatan, saat Anda menerapkan perubahan, itu akan berfungsi dengan benar.

Kendala Unik melalui Command-Line Shell:

Di shell baris perintah MySQL, kami akan menambahkan kunci UNIK ke satu atau beberapa kolom. Buka baris perintah Anda terlebih dahulu untuk melihat sekilas masing-masing dalam contoh di bawah ini. Ketik kata sandi Anda untuk menggunakan shell perintah.

Contoh 01: Pada Kolom Tunggal

Dalam sintaks ini, seperti dalam spesifikasi kolom, kami menggunakan istilah UNIK yang ingin Anda terapkan hukum keunikan. Setelah kami memasukkan atau mengubah nilai yang membuat duplikat di kolom tertentu, modifikasi akan ditolak oleh MySQL dan pengecualian akan diberikan juga. Akan ada pembatasan kolom dalam batas Khusus ini. Dan Anda bisa menggunakannya untuk menerapkan aturan unik satu bidang juga. Berikut adalah sintaks untuk kunci UNIK satu kolom:

>> CREATE TABLE table_name( col datatype UNIK, col datatype);

Mari kita buat tabel "supplier" di database "data" dengan tiga kolom di dalamnya. Kolom “ID” didefinisikan sebagai “UNIK”.

>> BUAT TABEL data.pemasok( id INT AUTO_INCREMENT NOT NULL UNIQUE, Nama VARCHAR(50) NOT NULL, Area VARCHAR(50));

Saat memeriksa, Anda dapat melihat tabel belum memiliki catatan.

>> PILIH * DARI data.pemasok;

Mari kita masukkan catatan ke dalam tabel. Catatan pertama akan dimasukkan ke dalam tabel dengan lancar, seperti yang ditunjukkan di bawah ini.

Rekor kedua akan disisipkan kembali dengan lancar karena tidak memiliki nilai duplikat pada kolom “ID”. Di sisi lain, itu mengambil nilai yang sama seperti yang digunakan dalam kueri pertama di kolom "Area".

Saat memasukkan catatan ketiga, kami telah memberikan nilai duplikat "1" seperti yang kami berikan pada pernyataan sisipan pertama. Ini akan menghasilkan kesalahan bahwa kolom "ID" mendapatkan nilai duplikat, seperti yang ditunjukkan pada gambar di bawah ini.

Saat memeriksa lagi, Anda dapat melihat bahwa tabel hanya memiliki catatan dari dua pernyataan penyisipan pertama. Meskipun tidak ada catatan dari pernyataan sisipan ketiga.

>> PILIH * DARI data.pemasok;

Contoh 02: Pada Beberapa Kolom

Dengan format ini, setelah istilah UNIK, kami menerapkan kumpulan kolom yang dipisahkan koma dalam tanda kurung. Komposisi nilai pada field col1 dan col2 digunakan oleh MySQL untuk menentukan keunikannya.

>> CREATE TABLE table_name( tipe data col1, tipe data col2, UNIK(col1, col2));

Kami telah membuat tabel "menteri" di database "data" dengan lima kolom. Kolom “ID” didefinisikan sebagai “UNIQUE” dan “PRIMARY”. Kata kunci “CONSTRAINT” digunakan untuk memberi nama batasan kunci unik sebagai “uc_add_sal”. Kata kunci “UNIQUE” digunakan untuk mendefinisikan batasan UNIK pada kolom yang ditentukan dalam tanda kurung, mis.g., Alamat dan “Gaji”. Sekarang kami memiliki total tiga kolom yang memiliki batasan "UNIK" pada mereka.

>> BUAT TABEL data.menteri( Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Nama VARCHAR(50) NOT NULL, Alamat VARCHAR(50), Job VARCHAR(50), Gaji VARCHAR(50), CONSTRAINT uc_add_sal UNIQUE (Alamat, Gaji));

Saat memeriksa meja, Anda dapat melihat meja kosong sekarang.

>> PILIH * DARI data.menteri;

Mari kita masukkan beberapa catatan ke dalamnya. Catatan pertama akan berhasil ditambahkan ke tabel karena itu adalah baris pertama dan tidak ada baris yang cocok.

Masukkan catatan unik lain tanpa nilai duplikat di kolom mana pun, seperti yang ditunjukkan di bawah ini.

Itu tidak mempengaruhi ketika kita memasukkan nilai duplikat untuk kolom yang tidak memiliki batasan "UNIQUE" pada mereka. Lihat kueri di bawah ini. Ini memiliki nilai duplikat di kolom "Nama" dan "Pekerjaan". Ini berfungsi dengan baik karena kedua kolom ini tidak memiliki batasan "UNIK" yang ditentukan pada mereka.

Di sisi lain, ketika kita memasukkan nilai duplikat, e.g., “13” dan “Rawalpindi”, maka akan menghasilkan kesalahan, seperti gambar di bawah ini. Ini karena "13" dan "Rawalpindi" telah ditentukan sebelumnya.

Saat memeriksa, kami hanya memiliki tiga catatan di tabel, dimasukkan oleh tiga kueri pertama.

>> PILIH * DARI data.menteri;

Kesimpulan:

Kami telah dengan anggun melakukan semua contoh mendefinisikan batasan UNIK pada kolom tunggal dan ganda saat menggunakan MySQL Workbench 8.0 dan shell klien baris perintah MySQL. Mudah-mudahan, Anda tidak akan mendapatkan masalah saat memecahkan masalah yang berkaitan dengan kunci UNIK.

Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...
Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...