Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Kunci Utama SQL

Bidang, yang berisi data unik dalam tabel, disebut KUNCI UTAMA (PK). Artinya, field PRIMARY KEY harus berisi data unik dalam tabel.

  • Bidang PRIMARY KEY berisi nilai pada setiap baris.
  • Bidang KUNCI UTAMA tidak boleh berisi string kosong.
  • Data KUNCI UTAMA tidak pernah berubah dari waktu ke waktu.
  • Sebuah tabel hanya dapat terdiri dari satu PRIMARY KEY, yang dapat terdiri dari satu atau beberapa bidang dalam tabel. Ketika lebih dari satu kolom digunakan sebagai PRIMARY KEY tabel, mereka dikenal sebagai Composite key dalam tabel.
  • Tidak akan ada catatan duplikat untuk KUNCI UTAMA.
  • Jika bidang ditetapkan sebagai KUNCI UTAMA dalam tabel, bidang tersebut tidak boleh berisi nilai bidang yang sama lebih dari satu kali dalam tabel.

Misalnya, kami memiliki tabel Siswa di database. Tabel berisi 4 bidang Student_Id, Student_Name, Phone_Number, dan Email. Student_Id dan Email adalah PRIMARY KEY pada tabel Student. Hanya ada satu KUNCI UTAMA tetapi dapat memiliki satu atau beberapa bidang dalam tabel, seperti yang kami katakan di atas. Data satu siswa sudah ada di tabel, tetapi siswa yang sama menambahkan datanya lagi dengan ID email yang sama. Saat siswa memasukkan detail, sebuah pop-up akan menampilkan pesan “Email sudah ada”. Ini ditampilkan karena Email sudah ada di tabel, dan bidang email adalah KUNCI UTAMA, dan KUNCI UTAMA tidak boleh berisi nilai duplikat.

Buat PRIMARY KEY pada SQL TABLE

Kueri SQL berikut membuat PRIMARY KEY pada bidang Employee_Id saat tabel 'Employee' dibuat.

CREATE TABLE Employee( Employee_Id int PRIMARY KEY, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40) );        

Kueri di atas telah mendefinisikan PRIMARY KEY ke bidang Employee_Id. Kita dapat menyebutkan nama kunci setelah nama field dan tipe data. Query di atas adalah salah satu cara untuk membuat Employee_Id sebagai PRIMARY KEY.

Untuk memeriksa apakah PRIMARY KEY kita berhasil didefinisikan atau tidak, kita dapat menggunakan perintah DESC diikuti dengan nama tabel Employee.

Karyawan DESC;

Fields Jenis Nol Kunci Bawaan Ekstra
Id_Karyawan Int(11) TIDAK PRI NULL
Nama_Karyawan Varchar(40) TIDAK NULL
Gaji Int(11) TIDAK NULL
Departemen Varchar(40) YA NULL
Kota Varchar(40) YA NULL

Bidang Kunci PRI disebutkan di depan baris Employee_Id, yang berarti Employee_Id berhasil ditetapkan sebagai PRIMARY KEY.

Keuntungan menggunakan PRIMARY KEY dalam tabel:

  1. Akses Cepat ke data dari tabel.
  2. Nilai duplikat tidak diperbolehkan di bidang PRIMARY KEY.

Cara lain untuk membuat KUNCI UTAMA

CREATE TABLE Employee( Employee_Id int NOT NULL, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40), PRIMARY KEY(Employee_ID) );

Dalam query yang sama seperti di atas, kita harus menyebutkan NOT NULL di depan nama field, yang dibuat sebagai PRIMARY KEY, dan pada akhirnya, kita harus menulis kata kunci PRIMARY KEY dan nama Field dalam kurung seperti di atas kueri.

Buat batasan PRIMARY KEY pada bidang saat tabel sudah ada

Gunakan kueri berikut:

ALTER TABLE Employee ADD PRIMARY KEY(Employee_Id);

Menggunakan kueri ALTER TABLE untuk mendefinisikan PRIMARY KEY, bidang PRIMARY KEY telah dideklarasikan dengan batasan NOT NULL.

SQL PRIMARY KEY pada Beberapa Kolom

Kueri SQL berikut membuat KUNCI UTAMA di lebih dari satu kolom saat Tabel 'Siswa' dibuat.

CREATE TABLE Student( Student_Id int NOT NULL, Student_Name varchar(40), Department varchar(40), Phone_Number int(10), Email varchar(100) NOT NULL, PRIMARY KEY(Student_ID, Email));

Hanya satu PRIMARY KEY yang dibuat pada contoh di Student_Id dan Email.

Untuk memeriksa apakah PRIMARY KEY kita berhasil didefinisikan atau tidak, kita dapat menggunakan perintah DESC diikuti dengan nama tabel Student.

DESC Student;
Fields Jenis Nol Kunci Bawaan Ekstra
Id_Siswa Int(11) TIDAK PRI NULL
Nama_Siswa Varchar(40) YA NULL
Departemen Varchar(40) YA NULL
Nomor_Telepon Int(10) YA NULL
Email Varchar(100) TIDAK PRI NULL

Seperti yang bisa kita lihat di depan baris Student_Id dan Email, field Key PRI disebutkan, yang berarti Student_Id dan Email berhasil ditetapkan sebagai PRIMARY KEY.

Sekarang kita akan mengeksekusi SHOW CREATE TABLE diikuti dengan nama tabel Student, yang akan menggambarkan tabel mahasiswa.

SHOW CREATE TABLE Student;

Pada output di atas, kita dapat melihat bahwa hanya satu PRIMARY KEY yang dibuat, dan dalam kurung, nama bidang disebutkan, yang dibuat sebagai PRIMARY KEY saat membuat tabel.

Misalkan kita ingin menghapus batasan PRIMARY KEY dari tabel siswa. Kami akan menggunakan kueri berikut untuk menghilangkan batasan PRIMARY KEY:

ALTER TABLE Student DROP PRIMARY KEY;

Untuk mengecek apakah PRIMARY KEY kita berhasil dihapus atau tidak, kita akan menggunakan perintah DESC diikuti dengan nama tabel Student.

DESC Student;
Fields Jenis Nol Kunci Bawaan Ekstra
Id_Siswa Int(11) TIDAK NULL
Nama_Siswa Varchar(40) YA NULL
Departemen Varchar(40) YA NULL
Nomor_Telepon Int(10) YA NULL
Email Varchar(100) TIDAK NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Counter Zombie PerfMon yang Tidak Pernah Mati!

  2. Apa itu Hubungan Satu-ke-Satu dalam Basis Data?

  3. SQL BUKAN Operator

  4. Memahami Kerugian Acara dengan Acara yang Diperpanjang

  5. Meningkatkan kinerja database hingga 400%