KUNCI UTAMA SQL: Membuat & Menambahkan ke Tabel yang Sudah Ada
โก Ringkasan Cerdas
Kunci utama (primary key) di SQL Server adalah kolom atau sekumpulan kolom yang nilainya secara unik mengidentifikasi setiap baris dalam sebuah tabel. Setiap tabel memiliki satu kunci utama, dan kolom-kolomnya tidak boleh bernilai NULL.

Apa itu Kunci Utama dalam SQL?
Kunci utama dalam SQL Server Kunci utama adalah sebuah field, atau kombinasi field, yang mengidentifikasi sebuah record secara unik. Ini adalah sebuah kolom atau sekumpulan kolom di mana setiap nilainya unik. Dengan kata lain, tidak ada dua baris yang dapat memiliki nilai kunci utama yang sama.
Aturan untuk Kunci Utama
- Setiap tabel hanya dapat memiliki satu kunci utama.
- Semua nilai bersifat unik, dan nilai kunci utama dapat mengidentifikasi setiap baris secara unik.
- Sistem tidak akan mengizinkan penyisipan baris yang nilai kunci utamanya sudah ada di dalam tabel.
- Kunci utama tidak boleh bernilai NULL.
Diagram di bawah ini merangkum semua poin di atas tentang kunci utama SQL.
Cara Membuat Kunci Utama di SQL Server
Anda dapat membuat kunci utama dengan dua cara:
- Studio Manajemen SQL Server
- T-SQL: membuat kunci utama saat membuat tabel baru
Mari kita pelajari setiap metode secara detail.
Studio Manajemen SQL Server
Langkah 1) Klik kanan pada nama tabel dan klik Mendesain.
Langkah 2) Klik kanan pada nama kolom dan klik Tetapkan Kunci Utama.
Hasil: Course_Id sekarang menjadi kunci utama, ditunjukkan dengan ikon kunci di samping kolom.
T-SQL: Membuat Kunci Utama Saat Membuat Tabel Baru
Berikut adalah sintaksnya untuk membuat tabel dengan kunci utama dari T-SQL.
sintaks:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Di sini, CONSTRAINT menamai kunci, PRIMARY KEY menandai kolom yang harus tetap unik, dan setiap kolom juga membutuhkan tipe data.
Mari kita buat tabel dengan satu kolom sebagai kunci utama SQL.
Query:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Langkah 1) Jalankan kueri dengan mengklik Eksekusi.
Hasil: Course_Id sekarang menjadi kunci utama pada tabel COURSE_TSQL_PK.
Contoh: Mari kita lihat apakah sistem ini mengizinkan memasukkan beberapa data dengan ID Kursus yang sama.
Langkah 1) Masukkan empat baris dengan nilai Course_ID yang berbeda.
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Langkah 2) Verifikasi bahwa semua data telah berhasil dimasukkan dengan menjalankan kueri SELECT.
Catatan: Anda dapat memasukkan nilai duplikat di kolom yang bukan kunci utama.
Langkah 3) Sekarang mari kita coba memasukkan data baru dengan Course_ID yang sudah ada, yang merupakan kunci utama.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Hasil: Sistem tidak mengizinkan penyisipan nilai baru, karena angka 4 sudah ada di kolom Course_ID, yang merupakan kunci utama.
Bagaimana Cara Menambahkan Kunci Utama ke Tabel yang Ada di SQL?
Sekarang kita akan melihat cara menambahkan kunci utama ke tabel yang sudah ada di SQL.
Anda dapat menggunakan pernyataan ALTER untuk membuat kunci utama. Namun, kunci utama hanya dapat dibuat pada kolom yang didefinisikan sebagai NOT NULL. Anda tidak dapat membuat kunci utama pada kolom yang mengizinkan nilai NULL; jika suatu kolom saat ini mengizinkan nilai NULL, Anda harus terlebih dahulu mengubahnya menjadi NOT NULL, atau menghapus dan membuat ulang tabel tersebut.
Berikut sintaksnya:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Sebagai contoh:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Kami telah menambahkan batasan kunci utama ke tabel yang sudah ada. Batasan telah ditambahkan pada kolom penerimaan dan diberi nama siswa_pk.
Fakta Menarik!
- Kunci utama dapat berupa kombinasi dari beberapa kolom. Kombinasi ini dikenal sebagai kunci utama komposit.
- Kunci utama dapat memiliki maksimal 16 kolom.









