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
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.
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;
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;
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’);
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”));
Kemudian sekali lagi kita akan melihat apakah data yang sudah dimasukkan tadi sudah tersimpan dengan perintah
SELECT * FROM users;
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.
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
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;
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”;
Seperti biasa kita akan membuktikan bahwa proses hapus record telah berhasil kita akan menggunakan perintah
SELECT * FROM users;
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.
Tidak ada komentar:
Posting Komentar