Dalam bahasa SQL pada umumnya informasi tersimpan dalam
tabel-tabel yang secara logik merupakan struktur dua dimensi terdiri
dari baris (row atau record) dan kolom (column atau field). Sedangkan
dalam sebuah database dapat terdiri dari beberapa table.
Beberapa tipe data dalam MySQL yang sering dipakai:
Beberapa tipe data dalam MySQL yang sering dipakai:
MEMBUAT DATABASE DAN TABLE
Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
C:\> MYSQL (Enter)
Kemudian akan masuk kedalam MySQL seperti tampilan dibawah ini:
Kemudian akan masuk kedalam MySQL seperti tampilan dibawah ini:
Bentuk prompt “mysql>” adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma “;” .
Cara untuk membuat sebuah database baru adalah dengan perintah:
create database namadatabase;
Contoh:
create database privatdb;
Untuk membuka sebuah database dapat menggunakan perintah berikut ini:
use namadatabase;
Contoh:
use privatdb;
Perintah untuk membuat tabel baru adalah:
create table namatabel
(
struktur
);
Contoh:
Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota.
Sedangkan strukturnya seperti tabel dibawah ini:
Sedangkan strukturnya seperti tabel dibawah ini:
Perintah MySQL untuk membuat tabel seperti diatas adalah:
create table anggota(
nomor int(6) not null primary key,
nama char(40) not null,
email char(255) not null,
alamat char(80) not null,
kota char(20) not null
);
Sedangkan data yang akan diisikan dalam tabel anggota adalah sebagai berikut:
Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut:
insert into namatabel values(kolom1, kolom2, kolom3,…);
Contoh:
insert into anggota values(‘1’,’Arini Nurillahi’,’arini@hotmail.com’,’Jl.Lebak Rejo 7’,’Surabaya’);
MENAMPILKAN ISI TABLE
Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT, cara penulisan perintah SELECT adalah:
select kolom from namatable;
insert into namatabel values(kolom1, kolom2, kolom3,…);
Contoh:
insert into anggota values(‘1’,’Arini Nurillahi’,’arini@hotmail.com’,’Jl.Lebak Rejo 7’,’Surabaya’);
MENAMPILKAN ISI TABLE
Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT, cara penulisan perintah SELECT adalah:
select kolom from namatable;
Contoh:
• Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota;
• Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota;
• Untuk menampilkan semua kolom pada tabel anggota yang berada pada kota ‘Surabaya’
select * from anggota where kota=’Surabaya’;
• Untuk menampilkan semua kolom pada tabel anggota dengan urut nama
select * from anggota order by nama;
• Untuk menghitung jumlah record pada tabel anggota
select count(*) from anggota;
• Untuk menampilkan kota pada tabel anggota
select kota from anggota;
• Untuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel anggota
select distinct kota from anggota;
• Untuk menampilkan nama dan email yang mempunyai email di ‘yahoo.com’
select nama,email from anggota where email like ‘%yahoo.com’;
MENGHAPUS RECORD
Untuk menghapus suatu record dengan kriteria tertentu digunakan perintah sebagai berikut:
delete from namatabel where kriteria;
Contoh:
• Menghapus record dari tabel anggota yang bernomor ‘3’
delete from anggota where nomor=’3’;
MEMODIFIKASI RECORD
Untuk memodifikasi (merubah) isi record tertentu adalah dengan menggunakan perintah sebagai berikut:
update namatabel set kolom1=nilaibaru1, kolom2=nilaibaru2 … where kriteria;
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