Belajar Database MySQL #3: Tipe Data dan Primary Key

Heru Iryanto
Heru Iryanto
Teacher, Content Creator and Full-Stack Developer

Di Excel, Anda bisa mengetik huruf “Halo” di sebuah sel, dan di sel bawahnya Anda bisa mengetik angka 12345. Excel akan menerimanya dengan senang hati.

MySQL tidak seperti itu! MySQL memiliki sifat Diktator (Sangat kaku). Saat Anda merancang sebuah Tabel, Anda harus bersumpah sejak awal: “Kolom Umur ini HANYA BOLEH diisi angka bulat!”. Jika Anda mencoba memasukkan teks “Tiga Puluh Tahun”, MySQL akan memuntahkan (Error) sistem Anda!

Inilah keunggulan MySQL. Sifat kaku ini mencegah masuknya data “Sampah” yang akan merusak logika aplikasi Anda.

1️⃣ Tipe Data Paling Umum (Wajib Hafal)

MySQL punya puluhan tipe data, tapi di industri dunia nyata, Anda hanya akan sering memakai 4 jenis ini:

  1. INT (Integer): Untuk menyimpan Angka Bulat mutlak (seperti Harga, Stok Barang, Umur, ID Nomor). Tidak bisa menampung angka koma (desimal).
  2. VARCHAR (Variable Character): Untuk menyimpan Teks pendek hingga sedang (seperti Nama Lengkap, Judul Buku, Email, Password). Anda WAJIB menentukan panjang maksimal karakternya (Length). Maksimal biasanya 255 karakter. (Misal VARCHAR(100) berarti jika diketik 101 karakter, 1 karakternya akan dipotong otomatis).
  3. TEXT: Untuk menyimpan Teks panjang yang berparagraf-paragraf (seperti Isi Artikel Blog, Catatan Medis, Deskripsi Produk). Anda tidak perlu menentukan batasan panjangnya.
  4. DATE: Untuk menyimpan tanggal secara mutlak dengan format baku internasional: YYYY-MM-DD (Tahun-Bulan-Tanggal). Contoh: 2024-12-31. Sangat berguna jika nanti Anda ingin menghitung rumus “Berapa umur buku ini sejak tahun rilisnya?” di sistem.

2️⃣ Hukum Mutlak: Primary Key (Kunci Utama)

Bayangkan Anda punya dua murid yang kebetulan memiliki nama yang persis sama: Budi Santoso. Di dalam Database, bagaimana mesin bisa membedakan Budi yang satu dengan Budi yang lain saat Anda ingin menghapus data si Budi? Jika Anda berkata kepada MySQL “Tolong hapus murid bernama Budi Santoso”, maka KEDUANYA akan terhapus musnah!

Untuk menghindari hal ini, SETIAP TABEL WAJIB HUKUMNYA MEMILIKI 1 KOLOM IDENTITAS UNIK (PRIMARY KEY). Biasanya kita menamainya id_... (Misalnya id_buku, id_pengguna, atau cukup id).

Sifat Primary Key:

  1. Unik: Tidak boleh ada 2 baris data yang memiliki nilai Primary Key yang sama (Mirip Nomor KTP / NIK).
  2. Tidak Boleh Kosong (Not Null): Harus diisi.

AUTO INCREMENT (A.I) Apakah kita harus mengetik ID ini secara manual (1, lalu 2, lalu 3)? Tentu capek. MySQL punya fitur Ajaib bernama A_I (Auto Increment). Jika kita centang fitur ini, MySQL akan bertugas menjadi “Mesin Antrean”. Setiap kali ada data buku baru masuk, mesin akan otomatis memberi nomor 1, buku kedua otomatis dapat nomor 2, dst!

3️⃣ Menyelesaikan “tabel_buku” Kita

Mari kita lanjutkan Tabel yang menggantung di phpMyAdmin pada materi sebelumnya, yaitu tabel_buku.

Isikan konfigurasi berikut di barisnya masing-masing:

Baris 1: id_buku

  • Type: INT
  • Index: Klik kolom tersebut dan pilih PRIMARY. Akan muncul pop-up peringatan, klik Go atau Save.
  • A_I (Auto Increment): Ceklis / Centang kotaknya! (Ini sangat penting).

Baris 2: judul_buku

  • Type: VARCHAR
  • Length/Values: 150 (Kita beri jatah 150 huruf maksimal).

Baris 3: nama_penulis

  • Type: VARCHAR
  • Length/Values: 100

Baris 4: tahun_terbit

  • Type: INT (Atau bisa juga YEAR). Kita pakai INT saja, biarkan kolom length-nya kosong.

Setelah keempat baris ini selesai diatur dengan cermat, gulir (scroll) ke ujung bawah kanan layar dan klik tombol Save!

🗽 Kesimpulan

SELAMAT! Layar phpMyAdmin Anda akan beralih ke tab “Structure” dan menunjukkan wujud arsitektur tabel Anda. Perhatikan ada simbol “Kunci Emas” kecil di sebelah kolom id_buku. Itu menandakan bahwa ia resmi menjadi NIK (Primary Key) tabel tersebut!

Sekarang kerangka brankasnya sudah selesai. Saatnya kita mencoba memasukkan berkas buku pertama kita ke dalamnya. Mulai dari bab selanjutnya, kita tidak akan banyak mengeklik tombol lagi, kita akan menulis mantra koding SQL layaknya Hacker sejati di materi Operasi Insert dan Select.