Dasar-Dasar MySQL: Membuat Database & Tabel Pertamamu dengan Mudah (Part 2)

Rifqi An Rifqi An
Februari 25, 2026


Dasar-Dasar MySQL: Membuat Database & Tabel Pertamamu dengan Mudah (Part 2)

Udah siap lanjutin petualangan database kita? Di Part 1 kemarin, kita udah ngobrolin kenapa MySQL itu penting banget buat aplikasi-aplikasi kece dan kenapa kamu wajib banget ngerti database. Nah, sekarang saatnya action! Siapkan kopimu (atau teh hangat kalau lagi diet kafein), karena kita bakal mulai ngoding beneran: bikin database dan tabel pertamamu. Dijamin, setelah ini kamu nggak bakal pusing lagi mikirin data berantakan kayak kamar kosan pas lebaran!

Seriusan, bagian ini krusial banget buat fondasi ngoding backend kamu. Jadi, santai tapi fokus ya!

Daftar Isi

Kenalan Sama MySQL Lagi (Sedikit Flashback)

Sebelum kita loncat ke arena ngoding, yuk kita flashback sedikit. MySQL itu ibarat lemari arsip super canggih. Kamu punya banyak data (kayak surat, faktur, foto mantan), dan kamu butuh tempat yang rapi buat nyimpennya. MySQL ini yang bantu kamu ngatur biar data-data itu bisa dicari, diupdate, atau dihapus dengan gampang tanpa perlu bongkar semua berkas.

Intinya, MySQL itu backend engine yang bikin data kamu terstruktur dan bisa diakses pakai bahasa SQL (Structured Query Language). Simpel, kan?

Mulai Ngoding: Bikin Database Baru

Oke, bagian paling seru! Langkah pertama sebelum bisa nyimpen data adalah bikin "lemari arsip" utamanya, alias database. Gampangnya, database ini adalah wadah besar yang isinya nanti tabel-tabel data kita.

Untuk bikin database, perintah SQL-nya gampang banget, cuma pakai CREATE DATABASE. Begini contohnya:


CREATE DATABASE blog_developer_ku;

Setelah kamu ketik perintah itu di terminal MySQL atau aplikasi GUI favoritmu (kayak phpMyAdmin, MySQL Workbench, atau DBeaver), MySQL akan langsung menciptakan database baru dengan nama blog_developer_ku.

Tips: Selalu pakai nama database yang deskriptif ya, biar nggak bingung kalau projectnya udah banyak. Hindari spasi di nama database, pakai underscore (_) aja biar aman!

Pentingnya USE Database

Nah, setelah database-nya jadi, kita harus bilang ke MySQL: "Eh, aku mau kerja di database yang ini nih!" Perintahnya juga simpel, pakai USE.

Kenapa penting? Karena kamu bisa punya banyak database di satu server MySQL. Kalau nggak di-USE dulu, MySQL bakal bingung kamu mau bikin tabel di database yang mana.


USE blog_developer_ku;

Sekarang, semua perintah SQL yang akan kamu jalankan selanjutnya akan bekerja di dalam database blog_developer_ku. Gampang, kan?

Desain Tabel Pertamamu (Struktur itu Penting!)

Database udah ada, sekarang saatnya bikin "laci-laci" di dalam lemari arsip kita, alias tabel. Tabel ini tempat kita nyimpen data secara terstruktur, kayak spreadsheet Excel tapi jauh lebih canggih dan rapi. Setiap tabel punya kolom (fields) dan baris (records).

Untuk bikin tabel, kita pakai perintah CREATE TABLE. Di sini, kita harus tentuin nama tabel, terus list semua kolomnya beserta tipe data dan "aturan mainnya" (constraints).

Tipe Data yang Sering Dipakai

  • INT: Buat angka bulat (integer). Contoh: umur, jumlah stok.
  • VARCHAR(panjang): Buat teks pendek sampai sedang. Penting banget tentuin panjang maksimalnya (misal: VARCHAR(255)). Contoh: nama, judul.
  • TEXT: Buat teks panjang yang nggak tentu panjangnya. Contoh: deskripsi artikel, isi komentar.
  • DATE: Buat tanggal doang (YYYY-MM-DD). Contoh: tanggal lahir.
  • DATETIME: Buat tanggal dan waktu (YYYY-MM-DD HH:MM:SS). Contoh: tanggal posting.
  • BOOLEAN atau TINYINT(1): Buat nilai benar/salah (true/false).

Constraints (Aturan Main) yang Penting

  • PRIMARY KEY: Ini adalah kunci utama untuk setiap baris data di tabelmu. Nilainya harus unik dan nggak boleh kosong (NOT NULL). Biasanya ini adalah kolom id dan sifatnya AUTO_INCREMENT biar otomatis nambah sendiri. Ini penting banget buat ngebedain satu data dengan data lainnya.
  • NOT NULL: Artinya, kolom ini nggak boleh kosong saat data diinput.
  • AUTO_INCREMENT: Khusus untuk kolom angka (biasanya PRIMARY KEY), nilai akan otomatis bertambah 1 setiap ada data baru. Praktis banget!
  • DEFAULT nilai: Menentukan nilai default kalau kolom ini nggak diisi saat data diinput.

Yuk, kita bikin tabel pertama kita untuk menyimpan data artikel di blog kita. Namanya articles:


CREATE TABLE articles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    author VARCHAR(100) DEFAULT 'Guest',
    published_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    is_published BOOLEAN DEFAULT TRUE
);

Coba perhatikan kode di atas:

  • id INT AUTO_INCREMENT PRIMARY KEY: Kolom id akan jadi angka unik, otomatis nambah, dan jadi identitas utama artikel kita.
  • title VARCHAR(255) NOT NULL: Judul artikel, maksimal 255 karakter, nggak boleh kosong.
  • content TEXT NOT NULL: Isi artikel yang bisa panjang banget, juga nggak boleh kosong.
  • author VARCHAR(100) DEFAULT 'Guest': Nama penulis, maksimal 100 karakter, kalau nggak diisi otomatis jadi 'Guest'.
  • published_at DATETIME DEFAULT CURRENT_TIMESTAMP: Tanggal dan waktu publish, kalau nggak diisi otomatis pakai waktu sekarang.
  • is_published BOOLEAN DEFAULT TRUE: Status publish artikel, kalau nggak diisi otomatis TRUE (terpublish).

Mantap! Kamu baru aja bikin tabel pertamamu. Sekarang database-mu udah punya struktur yang rapi buat nyimpen data artikel.

Melihat Struktur Tabelmu

Setelah capek-capek ngoding bikin tabel, kadang kita lupa detail strukturnya. Nggak perlu panik! MySQL punya perintah buat "ngintip" struktur tabelmu. Kita bisa pakai DESCRIBE atau singkatnya DESC.


DESCRIBE articles;
-- atau bisa juga
DESC articles;

Perintah ini akan menampilkan daftar kolom, tipe datanya, apakah boleh null, kunci (key), nilai default, dan extra info lainnya. Berguna banget pas lagi debugging atau lagi lupa.

Sekilas Tentang ALTER TABLE (Buat Kalau Salah Ngoding)

Namanya juga ngoding, kadang kita salah atau ada perubahan requirement. Nggak usah nangis atau hapus tabel terus bikin ulang dari awal! MySQL punya perintah ALTER TABLE buat ngubah struktur tabel yang udah ada.

Misalnya, kamu mau nambahin kolom baru untuk jumlah views di tabel articles. Gampang banget!


ALTER TABLE articles
ADD COLUMN views INT DEFAULT 0;

Dengan perintah di atas, tabel articles sekarang punya kolom baru bernama views dengan tipe data INT dan nilai default 0. Keren, kan? ALTER TABLE ini sakti banget buat nambah kolom, hapus kolom, atau bahkan ngubah tipe data kolom yang udah ada. Tapi hati-hati ya, salah-salah bisa bikin data kamu corrupt!

Apa Selanjutnya? Trigger dan Stored Procedures!

Selamat! Kamu udah sukses bikin database dan tabel pertamamu di MySQL. Ini adalah fondasi penting banget. Selanjutnya, database kita bisa dibikin makin cerdas dan otomatis dengan fitur-fitur keren kayak Triggers dan Stored Procedures.

  • Triggers: Ini kayak "penjaga" di database. Dia bisa otomatis jalanin perintah SQL tertentu pas ada kejadian (misal: sebelum data diinsert, sesudah data diupdate, atau pas data dihapus). Bayangin kayak "kalau ada order baru, langsung update stok produk."
  • Stored Procedures: Ini kayak "fungsi" atau "metode" di database. Kamu bisa nulis serangkaian perintah SQL, terus nyimpennya di database, dan bisa dipanggil kapan aja cuma pakai satu nama. Berguna banget buat operasi yang kompleks dan sering dipakai.

Kedua topik itu agak advance, jadi akan kita bahas di seri-seri selanjutnya ya. Pokoknya, banyak banget yang bisa dieksplorasi di dunia MySQL ini!

Latihan Ngoding Santai (Tapi Krusial!)

Biar ilmunya nempel, yuk kita latihan. Bayangkan skenario ini:

Kamu kerja di perusahaan startup "Kecap ABCXYZ" yang baru saja menerima investasi besar. Sayangnya, sistem inventaris mereka masih pakai buku catatan dan secarik kertas yang rawan hilang karena sering jadi alas ngopi tim sales. Bos kamu ngamuk karena stok kecap sering error, kadang kurang, kadang kelebihan. Tugasmu, sebagai hero database, adalah membuat database dan tabel yang rapi untuk inventaris produk kecap mereka.

Tugasmu:

  1. Buat database baru dengan nama inventaris_kecap.
  2. Pilih database inventaris_kecap untuk bekerja.
  3. Buat tabel dengan nama produk_kecap yang memiliki kolom-kolom berikut:
    • id: Nomor unik produk (otomatis nambah, nggak boleh kosong, jadi kunci utama).
    • nama_produk: Nama lengkap produk kecap (misal: "Kecap Manis Ukuran Sedang"), wajib diisi. Panjang maksimal 150 karakter.
    • kode_sku: Kode unik produk SKU (misal: "KCP-MNS-MD"), wajib diisi dan harus unik (nggak boleh ada yang sama). Panjang maksimal 50 karakter.
    • harga_beli: Harga modal produk (angka bulat, nggak boleh kosong).
    • harga_jual: Harga jual produk (angka bulat, nggak boleh kosong).
    • stok: Jumlah stok produk saat ini (angka bulat, nilai defaultnya 0 jika tidak diisi).
    • tanggal_masuk: Tanggal produk masuk gudang (otomatis terisi tanggal dan waktu saat ini jika tidak diisi).
    • deskripsi: Deskripsi singkat produk (opsional, bisa teks panjang).
  4. Setelah tabel produk_kecap selesai, cek kembali strukturnya menggunakan perintah DESCRIBE.
  5. Bonus: Coba tambahkan kolom baru kadaluarsa DATE ke tabel produk_kecap menggunakan ALTER TABLE. (Semoga kecapnya nggak cepat kadaluarsa!)

Silakan dicoba di MySQLmu, ya! Kalau ada bug atau error, jangan langsung frustasi. Itu bagian dari seni ngoding, guys! Waktunya googling dan ngopi!

Sampai jumpa di Part selanjutnya! Jangan lupa bagikan artikel ini ke teman-temanmu yang lagi belajar ngoding juga!

Bagikan Artikel Ini