MySQL Database & phpMyAdmin with XAMPP

MySQL Database & phpMyAdmin with XAMPP

Tutorial phpMyAdmin & MySQL with XAMPP step-by-step

Dalam artikel ini membahas mengenai Syntax MySQL Query serta GUI phpMyAdmin. yang akan kita bahas disini mengenai Create Database (membuat database), Create Tabel (Membuat Tabel), Insert (Memasukan data ke dalam tabel), Relationship (membuat relasi antar tabel) dengan penjelasan yang lebih sederhana.

Disini kita akan menggunakan phpMyAdmin agar lebih sederhana agar tidak mengintimidasi seseorang yang baru masuk ke ranah ini. untuk installasi php, phpMyAdmin, dan MySQL kita bisa menggunakan software bundle XAMPP atau LAMP dan masih banyak yg lainnya. namun dalam artikel ini kita tidak akan membahas mengenai instalasi XAMPP ataupun instalasi LAMP, kita hanya akan membahas mengenai MySQL dan phpMyAdmin. Untuk installasi bisa mengikuti artikel berikut:



Studi Kasus

1. Membuat database XXXX_katalog_sepedaanak di MySQL dengan PhpMyAdmin.

2. Membuat tabel XXXX_sepedaanak, XXXX_merk, dan XXXX_warna dengan ketentuan:

2.A. Rincian tabel XXXX_sepedaanak

Tabel XXXX_sepedaanak adalah tabel untuk menyimpan informasi sepeda. Rincian kolomnya terdiri dari:

Field/Kolom/AtributTipe DataKeterangan
Kode Sepeda AnakKolom ini dapat diisikan huruf dan angka dengan batasan maksimal 6 karakter.Kode sepeda sifatnya unik dan antar sepeda kode nya berbeda. Data tidak boleh kosong.
Nama Sepeda AnakKolom ini dapat diisikan huruf, angka, dan karakter khusus dengan batasan maksimal 40 karakter.Data tidak boleh kosong.
Stok Sepeda AnakKolom ini dapat diisikan angka. Selain angka tidak bisa diinputkan.Data tidak boleh kosong.
Tahun ProduksiKolom ini dapat diisikan dengan tahun. Selain tahun tidak bisa diinputkan.Data tidak boleh kosong.
Kode Merk SepedaKolom ini dapat diisikan huruf dan angka dengan batasan maksimal 5 karakter.Kode Merk Sepeda merupakan kunci tamu (foreign key) di tabel XXXX_sepeda. Penghubung antara tabel XXXX_sepedaanak dan XXXX_merksepeda. Data tidak boleh kosong.
Kode Warna SepedaKolom ini dapat diisikan huruf dan angka dengan batasan maksimal 4 karakter.Kode Warna Sepeda merupakan kunci tamu (foreign key) di tabel XXXX_sepedaanak. Penghubung antara tabel XXXX_sepedaanak dan XXXX_warnasepeda. Data tidak boleh kosong.

2.B. Rincian table XXXX_merk

Tabel XXXX_merk adalah tabel untuk menyimpan informasi merk sepeda. Rincian kolomnya terdiri dari

Field/Kolom/AtributTipe DataKeterangan
Kode Merk SepedaKolom ini dapat diisikan huruf dan angka dengan batasan maksimal 5 karakter.Kode merk sifatnya unik dan antar merk kode nya berbeda. Data tidak boleh kosong.
Merk SepedaKolom ini dapat diisikan huruf, angka, dan karakter khusus dengan batasan maksimal 40 karakter.Data tidak boleh kosong.

2.C. Rincian tabel XXXX_warna

Tabel XXXX_warna adalah tabel untuk menyimpan informasi warna sepeda. Rincian kolomnya terdiri dari :

Field/Kolom/AtributTipe DataKeterangan
Kode Warna SepedaKolom ini dapat diisikan huruf dan angka dengan batasan maksimal 4 karakter.Kode warna sifatnya unik dan antar warna kode nya berbeda. Data tidak boleh kosong.
Warna SepedaKolom ini dapat diisikan huruf, angka, dan karakter khusus dengan batasan maksimal 15 karakter.Data tidak boleh kosong.

3. Buat relasi tabel dari tabel XXXX_sepedaanak, XXXX_merk, dan XXXX_warna

4. Isi minimal 2 data dari masing-masing tabel pada database



Pembahasan

Login phpMyAdmin

Masukan username & password MySQL pada phpMyAdmin, Default:

  • username: root

  • password: root/kosong

    Login phpMyAdmin

Membuat Database

  • Klik Databases pada topbar diatas
  • Masukan nama database XXXX_katalog_sepedaanak, lalu klik Create
  • Jika database berhasil dibuat maka akan diarahkan pada halaman seperti berikut ini

Membuat Tabel

Ada banyak cara untuk membuat tabel, baik menggunakan GUI phpMyAdmin Ataupun SQL Syntax. namun kita disini hanya akan membas 3 dari sekian banyak cara.

3 Cara membuat tabel di GUI phpMyAdmin

1. Cara Pertama

  • Jika sudah pernah membuat tabel dan saat ini berada di halaman struktur dari suatu tabel serta ingin membuat tabel baru di database yang sama, Klik nama database dibagian atas sebelum nama tabel.
  • Kemudian. Pada section Create new table, di bagian input Table name isikan dengan nama tabel yang ingin kita buat, dan di input Number of columns isikan dengan banyaknya kolom yang ingin kita buat pada tabel tersebut. Jika semuanya dirasa sudah benar, klik tombol Create untuk membuat tabel.

2. Cara Kedua

  • Klik Databases pada bagian atas halaman phpMyAdmin Klik Databases pada top bar halaman phpMyAdmin
  • Lalu, Klik nama database XXXX_catalog_sepedaanak yang akan kita gunakan
  • Kemudian. Pada section Create new table, di bagian input Table name isikan dengan nama tabel yang ingin kita buat, dan di input Number of columns isikan dengan banyaknya kolom yang ingin kita buat pada tabel tersebut. Jika semuanya dirasa sudah benar, klik tombol Create untuk membuat tabel.

3. Cara Ketiga

  • Pada side bar sebelah kiri, expand databasenya dengan klik tombol plus +
  • Lalu, Klik new untuk membuat tabel baru
  • Kemudian isikan nama tabel di form input Table name yang ingin dibuat seperti di panah nomor 1
    • Jika ingin menambahkan kolom, isikan banyaknya kolom pada form input Add, seperti panah nomor 2. lalu tekan tombol Go seperti panah nomor 3
    • Untuk isi kolom dari tabel itu sendiri dapat diisi di form input seperti pada panah nomor 4
    • Untuk menyimpan tabel, tekan tombol Save seperti panah nomor 5

Membuat tabel XXXX_sepedaanak

Kita akan membuat tabel dengan nama XXXX_sepedaanak dengan mengikuti ketentuan Rincian tabel xxxx_sepedaanak, Isikan data kolomnya seperti berikut ini. lalu jika sudah tekan tombol Save untuk menyimpan. Keterangan:

  • Pada kolom kd(kode sepeda) kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 6 karakter.
  • Serta pada bagian Index pilih UNIQUE
  • Jika muncul modal Add Index pilih Create single-column index lalu tekan Go. Kemudian pada phpMyAdmin akan terlihat seperti frorm diatas berikut Isikan form diatas :
    • Pada Index Name isikan dengan KodeSepeda
    • Pada Index Choice pilih UNIQUE
    • Pada Column pilih kd[varchar], dan
    • Pada Size isikan 6
    • Lalu tekan tombol Go untuk membuat index
  • Pada kolom nama kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 40 karakter.
  • Pada kolom stok kita menggunakan tipe data INT dengan ukuran/panjang nilai default MySQL.
  • Pada kolom tahun_produksi kita menggunakan tipe data YEAR dengan ukuran/panjang nilai default MySQL.
  • Pada kolom kd_merk kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 5 karakter.
  • Pada kolom kd_warna kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 4 karakter.
  • Jika berhasil membuat tabel, maka kita akan diarahkan pada struktur tabel dengan tampilan pada halaman phpMyAdmin akan terlihat seperti berikut

Membuat/menambah Index untuk Relasi

Sebelum membuat relasi, disini kita jadikan kd/(kode sepeda anak) menjadi Primary (Langkah membuat Primary ini bisa di-skip dan tidak wajib). dengan men-checklist pada bidang kd lalu klik teks Primary dengan logo kunci berwarna kuning pada bagian bawah struktur tabel.

Lalu setelah itu kita akan menambahkan index untuk kita relasi-kan nanti ke tabel XXXX_merk.kd

  • Klik more pada kolom kd_merk
  • Kemudian, Klik Index untuk membuat index. Jika ada pesan Confirm dengan syntax sql "ALTER TABLE `XXXX_sepedaanak` ADD INDEX(`kd_merk`);" tekan tombol Ok pada bagian bawah modal.
  • Jika indexing berhasil kita dapat melihat pada bagian Indexes bawah halaman ada index baru dengan nama kunci kd_merk

Kita juga akan melakukan hal yang sama pada kolom kd_warna untuk kita relasi-kan nanti ke tabel XXXX_warna.kd

  • Klik more pada kolom kd_warna
  • Lalu, Klik Index. Jika ada pesan Confirm dengan syntax sql "ALTER TABLE `XXXX_sepedaanak` ADD INDEX(`kd_warna`);" tekan tombol Ok pada bagian bawah modal
  • Jika semua indexing sudah dilakukan, maka pada tabel XXXX_sepedaanak sekarang ada 4 index, 1 index primary, 1 index unik untuk kolom kd supaya tidak ada data pada tabel dengan kd yang sama, dan 2 index lagi yaitu kd_merk dan kd_warna yang akan kita gunakan nanti pada saat relasi.


Membuat tabel XXXX_merk

Untuk membuat tabel selanjutkan bisa mengikuti langkah sebelumnya, disini kita akan langsung pada pembahasan mengenai struktur dari tabel XXXX_merk dengan mengikuti Rincian table XXXX_merk

  • Masukan nama tabel XXXX_merk pada Tabel name, lalu isi kolom seperti berikut, jika dirasa sudah benar tekan tombol Save untuk menyimpan tabel. Keterangan:

    • Pada kolom kd(kode merk) kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 5 karakter.
    • Pada kolom merk(nama merk) kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 40 karakter.
  • Selanjutnya, buat kolom kd menjadi kolom unik. dengan cara, checklist pada kolom kd lalu klik text Unique pada bagian bawah struktur tabel.

  • Jika berhasil, maka akan ada index baru dengan nama kunci kd pada bagian bawah halaman di section Indexes

Membuat tabel XXXX_warna

Untuk membuat tabel selanjutkan bisa mengikuti langkah sebelumnya, disini kita akan langsung pada pembahasan mengenai struktur dari tabel XXXX_warna dengan mengikuti Rincian table XXXX_warna

  • Masukan nama tabel XXXX_warna pada Table name, lalu isi kolom seperti berikut, jika dirasa sudah benar tekan tombol Save untuk menyimpan tabel.
    Keterangan:

    • Pada kolom kd(kode warna) kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 4 karakter.
    • Pada kolom warna(nama warna) kita menggunakan tipe data VARCHAR dengan ukuran/panjang nilai 15 karakter.
  • Selanjutnya, buat kolom kd menjadi kolom unik. dengan cara, checklist pada kolom kd lalu klik text Unique pada bagian bawah struktur tabel.

  • Jika berhasil, maka akan ada index baru dengan nama kunci kd pada bagian bawah halaman di section Indexes


Membuat Relasi

Jenis-Jenis Relasi

Sebelum memulai, Perlu diketahui bahwa ada beberapa jenis relasi yaitu:

Relasi One to One (1 to 1)

Setiap baris data dari tabel pertama dapat dihubungkan ke satu baris atau lebih data pada tabel ke dua. Contohnya relasi antara tabel presiden dan tabel negara. Satu presiden hanya bisa memimpin satu Negara saja, jadi setiap presiden hanya akan memiliki satu hubungan dengant tabel, begitu juga sebaliknya. Gambar diatas merupakan sebuah representasi dari relasi yang terjadi pada tabel yang memiliki hubungan satu ke satu.

Relasi One to Many (1 to N)

Setiap baris data dari tabel pertama dapat dihubungkan ke satu baris atau lebih data pada tabel ke dua. Contohnya relasi presiden dengan menteri. Jadi satu presiden bisa memiliki banyak menteri namun satu orang menteri tidak bisa memiliki banyak presiden. Gambar diatas merupakan sebuah representasi dari relasi yang terjadi pada tabel yang memiliki hubungan satu ke banyak.

Relasi Many to Many (N to N)

Satu baris atau lebih data pada tabel pertama bisa dihubungkan ke satu atau lebih baris data pada tabel ke dua: Artinya ada banyak baris di tabel satu dan tabel dua yang saling berhubungan satu sama lain. Contohnya relasi antar tabel mahasiswa dan tabel mata kuliah. Satu baris mahasiswa bisa berhubungan dengan banyak baris mata kuliah begitu juga sebaliknya. Gambar diatas merupakan sebuah representasi dari relasi yang terjadi pada tabel yang memiliki hubungan banyak ke banyak.

Namun disini kita tidak akan membahas lebih jauh mengenai relasi, disini kita hanya akan membahas mengenai implementasi relasi pada studi kasus yang kita pilih. Untuk studi kasus yang kita pilih, pada tabel XXXX_sepedaanak kita menggunakan relasi one-to-one yang mana 1 sepeda hanya memiliki 1 merk dan juga 1 warna berbeda halnya dengan 1 warna dan juga 1 merk yang bisa memiliki banyak sepeda (one-to-many). Perlu diperhatikan, kita harus membuat index pada kolom kd_merk dan juga kd_warna pada tabel XXXX_sepedaanak agar relasi bisa dilakukan. Tapi ini sudah kita lakukan tadi pada saat membuat tabel XXXX_sepedaanak.

Membuat relasi kd_merk ke XXXX_merk.kd

Untuk membuat relasi, hal yang pertama kita lakukan ialah masuk dahulu ke dalam database XXXX_katalog_sepedaanak dengan cara Klik nama database XXXX_katalog_sepedaanak yang akan kita gunakan, pada sidebar di sebelah kiri halaman depan phpMyAdmin, lalu ikuti langkah berikut:

  • Klik Designer pada bagian atas halaman
  • Kemudian pada menu kiri klik Create relationship
  • Lalu pada saat Select referenced key, klik kd_merk pada tabel XXXX_sepedaanak
  • Dan pada saat Select Foreign Key, klik kd pada tabel XXXX_merk
  • Lalu jika muncul modal seperti dibawah, pada on delete dan on update pilih RESTRICT, lalu tekan tombol OK
  • Jika relasi berhasil dilakukan maka tampilan phpMyAdmin akan terlihat seperti berikut

Membuat relasi kd_warna ke XXXX_warna.kd

Untuk membuat relasi, hal yang pertama kita lakukan ialah masuk dahulu ke dalam database XXXX_katalog_sepedaanak dengan cara Klik nama database XXXX_katalog_sepedaanak yang akan kita gunakan, pada sidebar di sebelah kiri halaman depan phpMyAdmin, lalu ikuti langkah berikut:

  • Klik Designer pada bagian atas halaman
  • Kemudian pada menu kiri klik Create relationship
  • Lalu pada saat Select referenced key, klik kd_warna pada tabel XXXX_sepedaanak
  • Dan pada saat Select Foreign Key, klik kd pada tabel XXXX_warna
  • Lalu jika muncul modal seperti dibawah, pada on delete dan on update pilih RESTRICT, lalu tekan tombol OK
  • Jika relasi berhasil dilakukan maka tampilan phpMyAdmin akan terlihat seperti berikut

Memasukan Data - Insert

Untuk memasukan data, hal yang pertama yang harus kita lakukan adalah masuk dahulu ke dalam database XXXX_katalog_sepedaanak dengan cara Klik nama database XXXX_katalog_sepedaanak yang akan kita gunakan, pada sidebar di sebelah kiri halaman depan phpMyAdmin, lalu:

  • Pilih salah satu nama tabel yang akan kita gunakan dan masukan data
  • Misal tabel XXXX_sepedaanak, klik Insert pada menu dibagian atas
  • lalu isikan data pada form yang disediakan dan klik Go untuk menyimpan. FYI: kamu bisa memasukan data sekaligus banyak disini.

Memasukan data ke tabel XXXX_sepedaanak

Disini kita menggunakan SQL Query agar lebih cepat untuk insert data sekaligus banyak, atau bisa juga dilakukan dengan GUI phpMyAdmin.

INSERT INTO `XXXX_katalog_sepedaanak`.`XXXX_sepedaanak`
    (kd, nama, stok, tahun_produksi, kd_merk, kd_warna)
        VALUES 
    ('S-A001', 'Sepeda Anak Polygon', 15, '2022', 'S-001', 'W-01'), 
    ('S-A002', 'Sepeda Anak Giant', 20, '2022', 'S-002', 'W-12'), 
    ('S-A003', 'Sepeda Anak Scott', 10, '2022', 'S-003', 'W-02'), 
    ('S-A004', 'Sepeda Anak Merida', 5, '2022', 'S-004', 'W-14'),
    ('S-A005', 'Sepeda Anak Bianchi', 12, '2022', 'S-005', 'W-05'),
    ('S-A006', 'Sepeda Anak Trek', 8, '2022', 'S-006', 'W-07'),
    ('S-A007', 'Sepeda Anak Specialized', 10, '2022', 'S-007', 'W-07'),
    ('S-A008', 'Sepeda Anak Felt', 7, '2022', 'S-008', 'W-11'),
    ('S-A009', 'Sepeda Anak Orbea', 18, '2022', 'S-009', 'W-09'),
    ('S-A010', 'Sepeda Anak Colnago', 12, '2022', 'S-010', 'W-10');

Memasukan data ke tabel XXXX_merk

Disini kita menggunakan SQL Query agar lebih cepat untuk insert data sekaligus banyak, atau bisa juga dilakukan dengan GUI phpMyAdmin.

INSERT INTO `XXXX_katalog_sepedaanak`.`XXXX_merk`
    (kd, merk)
        VALUES
    ('S-001', 'Polygon'), 
    ('S-002', 'Giant'), 
    ('S-003', 'Scott'), 
    ('S-004', 'Trek'), 
    ('S-005', 'Specialized'), 
    ('S-006', 'Cannondale'), 
    ('S-007', 'Santa Cruz'), 
    ('S-008', 'Kona'), 
    ('S-009', 'Rocky Mountain'), 
    ('S-010', 'Yeti'),
    ('S-011', 'Merida'), 
    ('S-012', 'Cervelo'), 
    ('S-013', 'Orbea'), 
    ('S-014', 'Felt'), 
    ('S-015', 'BMC');

Memasukan data ke tabel XXXX_warna

Disini kita menggunakan SQL Query agar lebih cepat untuk insert data sekaligus banyak, atau bisa juga dilakukan dengan GUI phpMyAdmin.

INSERT INTO `XXXX_katalog_sepedaanak`.`XXXX_warna`
    (kd, warna)
        VALUES
    ('W-01', 'Hitam'), 
    ('W-02', 'Putih'), 
    ('W-03', 'Merah'), 
    ('W-04', 'Biru'), 
    ('W-05', 'Hijau'), 
    ('W-06', 'Kuning'), 
    ('W-07', 'Orange'), 
    ('W-08', 'Ungu'), 
    ('W-09', 'Coklat'), 
    ('W-10', 'Abu-abu'),
    ('W-11', 'Emas'), 
    ('W-12', 'Perak'), 
    ('W-13', 'Tosca'), 
    ('W-14', 'Merah Muda'), 
    ('W-15', 'Biru Muda');

Mengambil Data - Select Join (Bonus)

Join table

SELECT XXXX_sepedaanak.kd,
       XXXX_sepedaanak.nama,
       XXXX_sepedaanak.stok,
       XXXX_sepedaanak.tahun_produksi,
       XXXX_merk.merk,
       XXXX_warna.warna
    FROM `XXXX_katalog_sepedaanak`.`XXXX_sepedaanak` 
    JOIN XXXX_merk 
        ON XXXX_sepedaanak.kd_merk = XXXX_merk.kd
    JOIN XXXX_warna
        ON XXXX_sepedaanak.kd_warna = XXXX_warna.kd;