Dasar-Dasar MySQL

Untuk dapat menggunakan database MySQL server pada sebuah aplikasi web, terlebih dahulu kita harus membuat database pada MySQL dan dilanjutkan dengan tabel-tabel yang akan kita gunakan pada aplikasi kita. Pembuatan database dan tabel pada MySQL dapat kita lakukan dengan dua cara, yang pertama adalah dengan bantuan program pihak ketiga yang berbentuk graphical user interface dan yang kedua adalah melalui command line atau console. Pada bab ini kita akan membahas hanya penggunaan MySQL melalui console.

Pembuatan Database dan Tabel dengan SQL

Untuk dapat membuat database dan tabel pada MySQL kita harus terlebih dahulu melakukan koneksi ke MySQL menggunakan username dan password yang telah kita buat pada saat instalasi. Username untuk bab ini yang dibuat pada saat instalasi adalah root dan password-nya adalah password. Pada bab ini kita juga akan mempelajari cara membuat user pada MySQL server sehingga kita tidak akan menggunakan user root pada aplikasi kita. Perintah untuk melakukan koneksi ke MySQL server yang berada pada alamat localhost atau 127.0.0.1 adalah sebagai berikut

xxxxxxx@MyUbuntu:~$ mysql -h localhost -u root -p

Enter password:

kemudian kita akan diminta untuk memasukkan password, masukkan password yang sama yang kita gunakan pada saat instalasi diikuti dengan menekan tombol enter. Jika koneksi berhasil maka kita akan memperoleh tampilan seperti berikut

Gambar x. tampilan ketika pertama kali login ke MySQL server

Saat ini kita diberikut MySQL promt yang bisa kita gunakan untuk memasukkan perintah-perintah SQL untuk pembuatan database,tabel atau perintah lainnya seperti menampilkan, mengedit, dan menghapus data.

Perintah SQL untuk membuat database yang bernama pemrograman adalah

mysql> CREATE DATABASE IF NOT EXISTS pemrograman;

perintah IF NOT EXISTS digunakan untuk mencegah error jika database yang akan dibuat sudah pernah ada. Berikut adalah tampilan jika kita menghilangkan perintah IF NOT EXISTS pada saat pembuatan database yang sudah pernah ada.

Gambar x. tampilan error ketika membuat database dengan nama yang sudah pernah ada

setelah kita membuat database dengan nama pemrograman selanjutnya kita akan membuat tabel dengan nama users dan userdetails pada database ini. Kedua tabel ini memiliki hubungan one-to-one. Tabel users terdiri dari tiga kolom yaitu id_user, username dan password sementara untuk tabel userdetails terdiri dari lima kolom id_user, nama_depan, nama_belakang, tempat_lahir dan tanggal_lahir.

Untuk dapat membuat tabel pada database pemrograman ertama sekali kita harus menggunakan perintah

mysql> USE pemrograman;

untuk bekerja didalam database pemrograman. Sehingga semua tabel yang kita buat nantinya akan tersimpan dalam database pemrograman.

Untuk tabel userdetails tipe data AUTO_INCREMENT, nama_depan, nama_belakang dan tempat_lahir memiliki tipe data varchar atau string. Sedangkan untuk tanggal_lahir kita menggunakan tipe data date. Tabel users memiliki tipe data varchar untuk username dan password, sementara untuk id_user juga menggunakan tipe data integer dan merupakan foreign key yang mengacu ke tabel userdetails. Sehingga di sini userdetails akan menjadi tabel induk untuk tabel useers. Hal ini menyebabkan kita harus membuat tabel userdetails terlebih dahulu.

Perintah untuk membuat tabel sesuai dengan deskripsi di atas adalah sebagai berikut

CREATE TABLE IF NOT EXISTS `userdetails` (

id_user int(3) NOT NULL,

nama_depan varchar(20) NOT NULL,

nama_belakang varchar(20) NOT NULL,

tempat_lahir varchar(25) NOT NULL,

tanggal_lahir date NOT NULL,

PRIMARY KEY (id_user)

) ENGINE=InnoDB;

jika perintah yang kita ketikkan pada MySQL promt tidak mengandung kesalahan maka kita akan memperoleh tampilan sebagai berikut

Gambar x. tampilan pembuatan tabel userdetails

Kemudian kita akan membuat tabel users yang kolom id_user-nya kita hubungkan ke kolom id_user pada tabel induk, dalam hal ini ttabel userdetails. Maka perintah yang digunakan untuk membuat tabel users adalah sebagai berikut

CREATE TABLE IF NOT EXISTS users(

id_user int(3) NOT NULL,

username varchar(30) NOT NULL,

password varchar(255) NOT NULL,

FOREIGN KEY (id_user) REFERENCES userdetails(id_user)

) ENGINE=InnoDB;

kalau tidak ada kesalahan dalam pengetikan maka tampilan setelah perintah di atas diketik adalah sebagai berikut

Gambar x. Tampilan pembuatan tabel users

Memasukkan Data dalam Tabel Melalui SQL

untuk memasukkan data ke dalam sebuah tabel, kita menggunakan perintah INSERT seperti pada contoh berikut ini.

INSERT INTO <table_name>(field_name, …) VALUES(<values>, …)

kali ini kita akan mencoba memasukkan sebuah record dalam tabel userdetail dengan nama_depan=Sayed, nama_belakang=Muchallil, tempat_lahir=Lhokseumawe dan tanggal_lahir adalah 16 Juni 1987.

Maka perintah SQL untuk membuat record tersebut adalah sebagai berikut

INSERT INTO userdetails(nama_depan, nama_belakang, tempat_lahir, tanggal_lahir) VALUES(“Sayed”, “Muchallil”, “Lhokseumawe”, ’1987-06-16′);

Jika perintah di atas berhasil maka tampilannya adalah sebagai berikut.

Gambar x.

Kemudian kita akan menggunakan perintah

SELECT * FROM userdetails

untuk memastikan bahwa record yang kita masukkan sudah tersimpan dalam tabel userdetails. Jika data tersebut sudah ada maka akan terlihat seperti pada gambar di bawah ini.

Gambar x. tampilan bahwa data yang dimasukkan sudah tersimpan

berikutnya kita kan memasukkan data ke dalam tabel users, untuk id_user=0, username=sulth4n dan password adalah password dengan perintah seperti berikut:

INSERT INTO users(id_user, username, password) VALUES(0,“sulth4n”,md5(”password”));

jika perintah di atas diketik dengan benar, maka tampilannya adalah sebagai berikut

Gambar x

Kemudian sekali lagi kita akan melihat apakah data yang sudah dimasukkan tadi sudah tersimpan dengan perintah

SELECT * FROM users;

maka tampilannya adalah sebagi berikut:

Gambar x.

Mengubah Data dengan Perintah SQL

Untuk mengubah data dari sebuah record yang tersimpan dalam tabel pada MySQL dapat menggunakan perintah UPDATE dengan diikuti SET untuk field yang nilainya mau diganti. Untuk format sintak-nya adalah sebagai berikut

UPDATE <table_name> SET <field_name>=<new_value> WHERE <field_name>=<value>

jika kita ingin mengubah data password pada tabel users menjadi newpassword dan tanggal_lahir pada tabel userdetails menjadi 1988-10-25. Maka kita harus membuat menjadi dua perintah SQL. Yang pertama adalah

UPDATE users SET password=md5(“newpassword”) WHERE id_user=0;

ketika perintah tersebut kita ketikkan dengan benar maka password akan berubah. Berikut ini adalah tampilan ketika perintah tersebut dimasukkan.

Gambar x.

Sekarang kita akan melihat apakah password sudah berubah atau belum dengan perintah

SELECT * FROM users;

Setelah melakukan perintah di atas maka kita dapat melihat bahwa perintah tersebut telah berhasil seperti pada gambar di bawah ini.

Gambar x.

Kemudian untuk mengganti tanggal lahir pada tabel userdetail kita menggunakan perintah SQL berikut ini.

UPDATE userdetails SET tanggal_lahir=’1988-10-25′ WHERE id_user=0;

dan untuk melihat perubahan yang telah terjadi, kita menggunakan perintah

SELECT * FROM userdetails;

adapun tampilan untuk kedua proses di atas ditunjukkan pada gambar x dan gambar x

Gambar x

Gambar x.

Menghapus Data Menggunakan SQL

Untuk menghapus data kita menggunakan perintah DELETE FROM <table_name>, perintah ini akan menghapus sebuah record dari tabel. Sintak lengkapnya dari perintah ini adalah sebagai berikut.

DELETE FROM <nama_tabel> WHERE <nama_kolom>=<value>;

Sehingga untuk menghapus record yang memiliki username sulth4n pada tabel users, maka perintahnya adalah sebagai berikut :

DELETE FROM users WHERE username=”sulth4n”;

adapun tampilan layar untuk perintah SQL adalah sebagai berikut:

Gambar x.

Seperti biasa kita akan membuktikan bahwa proses hapus record telah berhasil kita akan menggunakan perintah

SELECT * FROM users;

sehingga kita akan memperoleh tampilan seperti berikut:

gambar x.

Pembuatan User pada MySQL

ketika pertama sekali menginstal MySQL kita hanya memiliki satu user, yaitu root. Sehingga tidak lah aman untuk menggunakan user root pada semua aplikasi kita. Untuk itu kita akan membuat user baru yang bernama user dan password-nya adalah password dan kita memberikan seluruh hak akses untuk database pemrograman. Sebagai tambahan, demi keamanan kita hanya akan mengijinkan user ini untuk mengakses database ini hanya dari localhost.

Untuk membuat sebuah user baru seperti yang kita inginkan di atas, kita menggunakan perintah sebagai berikut

GRANT ALL PRIVILEGES ON pemrograman.* TO user@localhost IDENTIFIED BY ‘password’;

dari perintah di atas dapat kita lihat bahwa user yang bernama user diberikan semua hak untuk akses database pemrograman tapi harus diakses dari localhost dan memiliki password=password.

Tampilan ketika perintah ini dieksekusi adalah sebagai berikut:

Gambar x