BASIS DATA (MySQL)
BASIS DATA (MySQL)
Edited by Haris Saputro Edited by Haris Saputro
Modul Pembelajaran Praktek Basis Data (MySQL)
BAB I
BAB I
MENGENAL MySQL
MENGENAL MySQL
1.1
1.1 MengeMengenal nal MySQLMySQL
MySQL adalah Sebuah program database
MySQL adalah Sebuah program database server yang mampu menerima dan mengirimkanserver yang mampu menerima dan mengirimkan
datanya sangat cepat, multi user serta menggunakan peintah dasar SQL ( Structured Query Language ). datanya sangat cepat, multi user serta menggunakan peintah dasar SQL ( Structured Query Language ).
MySQL merupakan dua bentuk lisensi, yaitu FreeSoftare dan Shareare. MySQL yang biasa kita MySQL merupakan dua bentuk lisensi, yaitu FreeSoftare dan Shareare. MySQL yang biasa kita gunakan adalah MySQL FreeSoftare yang berada dibaah Lisensi !"#$!%L ( !eneral %ublic License ). gunakan adalah MySQL FreeSoftare yang berada dibaah Lisensi !"#$!%L ( !eneral %ublic License ).
MySQL Merupakan sebuah database server yang free, artinya kita
MySQL Merupakan sebuah database server yang free, artinya kita bebas menggunakan databasebebas menggunakan database ini untuk keperluan pribadi atau usaha
ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQLtanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer
pertama kali dirintis oleh seorang programmer database bernamadatabase bernama Michael Widenius .Michael Widenius .Selain databaseSelain database server, MySQl &uga merupakan program yang
server, MySQl &uga merupakan program yang dapat mengakses suatu database MySQL yang berposisidapat mengakses suatu database MySQL yang berposisi sebagai Server, yang berarti program kita berposisi sebagai 'lient. adi MySQL adalah sebuah database sebagai Server, yang berarti program kita berposisi sebagai 'lient. adi MySQL adalah sebuah database yang dapat digunakan sebagai 'lient mupun
yang dapat digunakan sebagai 'lient mupun server.server. atabase MySQL merupakan suatu perangkat lunak
atabase MySQL merupakan suatu perangkat lunak database yang berbentuk database relasionaldatabase yang berbentuk database relasional atau disebut *elational atabase Management System ( *+MS ) yang menggunakan suatu bahasa atau disebut *elational atabase Management System ( *+MS ) yang menggunakan suatu bahasa permintaan yang bernama SQL (Structured Query Language ).
permintaan yang bernama SQL (Structured Query Language ).
1.2
1.2 KelebiKelebihan han MySQLMySQL
atabase MySQL memiliki beberapa kelebihan dibanding database lain,
atabase MySQL memiliki beberapa kelebihan dibanding database lain, diantaranya diantaranya 
•
• MySQL merupakan atabase Management System ( +MS MySQL merupakan atabase Management System ( +MS ))
•
• MySQL sebagai *elation atabase Management System ( *+MS ) atau disebut denganMySQL sebagai *elation atabase Management System ( *+MS ) atau disebut dengan
database *elational database *elational
•
• MySQL Merupakan sebuah database server yang free, artinya kita MySQL Merupakan sebuah database server yang free, artinya kita bebas menggunakanbebas menggunakan
database ini untuk keperluan pribadi atau
database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayarusaha tanpa harus membeli atau membayar lisensinya
lisensinya
•
• MySQL merupakan sebuah database clientMySQL merupakan sebuah database client
•
• MySQL mampu menerima -uery yang bertupuk dalam MySQL mampu menerima -uery yang bertupuk dalam satu permintaan atau Multisatu permintaan atau Multi
/hreading. /hreading.
Edited
BAB I
BAB I
MENGENAL MySQL
MENGENAL MySQL
1.1
1.1 MengeMengenal nal MySQLMySQL
MySQL adalah Sebuah program database
MySQL adalah Sebuah program database server yang mampu menerima dan mengirimkanserver yang mampu menerima dan mengirimkan
datanya sangat cepat, multi user serta menggunakan peintah dasar SQL ( Structured Query Language ). datanya sangat cepat, multi user serta menggunakan peintah dasar SQL ( Structured Query Language ).
MySQL merupakan dua bentuk lisensi, yaitu FreeSoftare dan Shareare. MySQL yang biasa kita MySQL merupakan dua bentuk lisensi, yaitu FreeSoftare dan Shareare. MySQL yang biasa kita gunakan adalah MySQL FreeSoftare yang berada dibaah Lisensi !"#$!%L ( !eneral %ublic License ). gunakan adalah MySQL FreeSoftare yang berada dibaah Lisensi !"#$!%L ( !eneral %ublic License ).
MySQL Merupakan sebuah database server yang free, artinya kita
MySQL Merupakan sebuah database server yang free, artinya kita bebas menggunakan databasebebas menggunakan database ini untuk keperluan pribadi atau usaha
ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQLtanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer
pertama kali dirintis oleh seorang programmer database bernamadatabase bernama Michael Widenius .Michael Widenius .Selain databaseSelain database server, MySQl &uga merupakan program yang
server, MySQl &uga merupakan program yang dapat mengakses suatu database MySQL yang berposisidapat mengakses suatu database MySQL yang berposisi sebagai Server, yang berarti program kita berposisi sebagai 'lient. adi MySQL adalah sebuah database sebagai Server, yang berarti program kita berposisi sebagai 'lient. adi MySQL adalah sebuah database yang dapat digunakan sebagai 'lient mupun
yang dapat digunakan sebagai 'lient mupun server.server. atabase MySQL merupakan suatu perangkat lunak
atabase MySQL merupakan suatu perangkat lunak database yang berbentuk database relasionaldatabase yang berbentuk database relasional atau disebut *elational atabase Management System ( *+MS ) yang menggunakan suatu bahasa atau disebut *elational atabase Management System ( *+MS ) yang menggunakan suatu bahasa permintaan yang bernama SQL (Structured Query Language ).
permintaan yang bernama SQL (Structured Query Language ).
1.2
1.2 KelebiKelebihan han MySQLMySQL
atabase MySQL memiliki beberapa kelebihan dibanding database lain,
atabase MySQL memiliki beberapa kelebihan dibanding database lain, diantaranya diantaranya 
•
• MySQL merupakan atabase Management System ( +MS MySQL merupakan atabase Management System ( +MS ))
•
• MySQL sebagai *elation atabase Management System ( *+MS ) atau disebut denganMySQL sebagai *elation atabase Management System ( *+MS ) atau disebut dengan
database *elational database *elational
•
• MySQL Merupakan sebuah database server yang free, artinya kita MySQL Merupakan sebuah database server yang free, artinya kita bebas menggunakanbebas menggunakan
database ini untuk keperluan pribadi atau
database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayarusaha tanpa harus membeli atau membayar lisensinya
lisensinya
•
• MySQL merupakan sebuah database clientMySQL merupakan sebuah database client
•
• MySQL mampu menerima -uery yang bertupuk dalam MySQL mampu menerima -uery yang bertupuk dalam satu permintaan atau Multisatu permintaan atau Multi
/hreading. /hreading.
Edited
•
• MySQL merupakan atabase yang mampu menyimpan data MySQL merupakan atabase yang mampu menyimpan data berkapasitas sangat besarberkapasitas sangat besar
hingga berukuran !iga+yte sekalipun. hingga berukuran !iga+yte sekalipun.
•
• MySQL diidukung oleh driver 1+', artinya database MySQL dapat diakses menggunakanMySQL diidukung oleh driver 1+', artinya database MySQL dapat diakses menggunakan
aplikasi apa sa&a termasuk berupa visual seperti visual +asic dan elphi. aplikasi apa sa&a termasuk berupa visual seperti visual +asic dan elphi.
•
• MySQL adalah database menggunakan enkripsi passord, &adi database ini cukup amanMySQL adalah database menggunakan enkripsi passord, &adi database ini cukup aman
karena memiliki passord untuk mengakses nya. karena memiliki passord untuk mengakses nya.
•
• MySQL merupakan atabase Server yang multi user, artinya database ini tidak hanyaMySQL merupakan atabase Server yang multi user, artinya database ini tidak hanya
digunakan oleh satu pihak orang akan tetapi dapat digunakan oleh banyak pengguna. digunakan oleh satu pihak orang akan tetapi dapat digunakan oleh banyak pengguna.
•
• MySQL mendukung field yang di&adikan sebagai kunci primer dan kunci uni- ( #ni-ue ).MySQL mendukung field yang di&adikan sebagai kunci primer dan kunci uni- ( #ni-ue ).
•
• MySQL memliki kecepatan dalam pembuatan table maupun pengupdate an MySQL memliki kecepatan dalam pembuatan table maupun pengupdate an table.table.
2.3
2.3 Mengenal SQL  S!"#c!#"ed Q#e"y Lang#age $Mengenal SQL  S!"#c!#"ed Q#e"y Lang#age $
SQL ( Structured Query Language ) adalah sebuah bahasa permintaan database yang terstruktur. SQL ( Structured Query Language ) adalah sebuah bahasa permintaan database yang terstruktur. +ahasa SQL ini dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun +ahasa SQL ini dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database.
merelasikan antar database.
SQL dibagi men&adi tiga bentuk Query, yaitu  SQL dibagi men&adi tiga bentuk Query, yaitu  1.3
1.3.1.1 DDDDL ( L ( DaData ta DeDefinfinitition ion LaLangnguauage ge ))
L adalah sebuah metode Query SQL yang berguna untuk mendefinisikan data pada L adalah sebuah metode Query SQL yang berguna untuk mendefinisikan data pada sebuah atabase, Query yang dimiliki L adalah 
sebuah atabase, Query yang dimiliki L adalah 
•
• '*45/4 '*45/4   igunakan igunakan untuk untuk membuat membuat atabase atabase dan dan /abel/abel
•
• rop rop   igunakan igunakan untuk untuk menghapus menghapus /abel /abel dan dan atabaseatabase
•
• 5lter 5lter   igunakan igunakan untuk untuk melakukan melakukan perubahan perubahan struktur struktur tabel tabel yang yang telahtelah
dibuat, baik menambah Field ( 5dd ), mengganti nama Field dibuat, baik menambah Field ( 5dd ), mengganti nama Field ( 'hange ) ataupun menamakannya kembali ( *ename ), dan ( 'hange ) ataupun menamakannya kembali ( *ename ), dan menghapus Field ( rop ).
menghapus Field ( rop ).
Edited By Haris Saputro
2.3.0 DML ( Data Manipulation Language )
ML adalah sebuah metode Query yang dapat digunakan apabila L telah ter&adi, sehingga fungsi dari Query ML ini untuk melakukan pemanipulasian database yang telah dibuat. Query yang dimiliki ML adalah 
• 6"S4*/  igunakan untuk memasukkan data pada /abel atabase
• #%5/4  igunakan untuk pengubahan terhadap data yang ada pada /abel
atabase
• 4L4/4  igunakan untuk %enhapusan data pada tabel atabase
1.3.3 DCL ( Data Control Language )
'L adalah sebuah metode Query SQL yang digunakan untuk memberikan hak
otorisasi mengakses atabase, mengalokasikan space, pendefinisian space, dan pengauditan penggunaan database. Query yang dimiliki 'L adalah 
• !*5"/  #ntuk mengi7inkan #ser mengakses /abel dalam atabase.
• *48194  #ntuk membatalkan i7in hak user, yang ditetapkan oleh perintah
!*5"/
• '1MM6/  Mentapkan penyimpanan atabase
• *1LL+5'9  Membatalkan penyimpanan atabase
BAB 2
%#ng&i ' %#ng&i (ada MySQL
2.1 Menga)!i*)an +i"e)!o"i MySQL Se",e"
#ntuk dapat menggunakan MySQL terlebih dahulu aktifkan Server MySQL dengan
menghidupkan daemond MySQL. %rogram MySQL yang digunakan pada modul ini adalah ;5M%% 2.<, maka untuk men&alankan daemond MySQL terdapat pada direktori yaitu '=%rogram
Files=;ampp=Mys-l=+in
#ntuk masuk kedalam server MySQL, bukalah MS1S %rompt anda melalui *un kemudian ketik 'ommand atau cmd. Maka anda dapat masuk ke dalam direktori MySQL melalui MS1S %romtp seperti dibaah ini.
2.2 Ma&#) dan Kel#a" da"i Se",e" MySQL
MySQL adalah sebuah database server yang sangat aman. MySQL memiliki kemampuan memana&emen user dalam mengakses. adi, tidak sembarang user dapat mengakses sebuah database yang diciptakan MySQL. Maka sebelum anda memiliki #ser untuk mengakses MySQL anda &uga dapat Mengakses database MySQL menggunakan #ser Root.
+erikut adalah perintah yang digunakan untuk mengkoneksikan kedalam Server Mys-l  Shell > MySQL ?uRoot ?p
4nter %assord @@@@@@@@@
9eterangan  /anda ?u menerangkan baha kita akan masuk menggunakan #ser "ame bernama *oot.
/anda ?p menyatakan kita akan masuk menggunakan %assord.
+erikut adalah perintah yang digunakan untuk mengkoneksikan kedalam Server Mys-l melalui *oot  Shell> Mys-l ?u root
#ntuk dapat keluar dari Server MysQL kita dapat mengetikkan 6ntruksi -uit ata =-  Mys-l> -uit
+ye
Mys-l> =-+ye
2.- Ban!#an dalam MySQL
atabase MySQL menyediakan beberapa fasilitas bantuan yang berguna untuk
mendokumentasikan atau memanipulasikan server yaitu dengan cara mengetikan intruksi =h atau =B. Mys-l> =B
Semua Query harus diakhiri dengan tanda titik koma ( C ). /anda ini menun&ukkan baha -uery telah berakhir dan siap dieksekusi.
Delp ( =h )  igunakan untuk menampilkan file bantuan pada MySQL B ( =B )  %erintah ini sama dengan perintah Delp
'lear ( =c )  +erguna untuk membersihkan atau menggagalkan semua perintah yang telah ber&alan dalam suatu prompt
'onnect ( =r )  untuk melakukan penyegaran koneksi ke dalam database yang ada pada Server Dost
4go ( =! )  berguna untuk menampilkan data secara hori7ontal. !o ( =g )  member perintah server untuk mengeksekusi
tee ( =/ )  mengatur tempat file yang akan didokumentasikan.
'ontoh 
mys-l> =/ d=bela&ar mys-l.doc Logging to file d=data.docCG
"ote ( =t )  akhir dari ( =/ ) yang berguna untuk mendokumentasikan semua -uery. %rint ( =p )  mencetak semua -uery yang telah kita perintahkan kelayar.
%rompt ( =* )  Mengubah prompt standar sesuai keinginan.
Source ( =. )  berguna untuk mengeksekusi -uery dari luar yang berbentuk .&l
#se ( =u )  berguna untuk memasuki database yang akan digunakan maupun mengganti database yang akan di gunakan.
BAB
-Admini&!"a&i MySQL
MySQL Selaku database server yang mampu ber&alan pada åan, tentu sa&a MySQL harus memiliki kemampuan khusus yang berguna untuk melakukan mana&emen user atau mendukung system databaseyang bersifat client$server.
-.1 Memb#a! /&e" ba"#
#ntuk dapat menciptkan user baru pada database mys-l yang terdapat pada tabel user. apat dilakukan dengan menggunakan pernyataan SQL bernama 6"S4*/. SintaH seperti berikut 
INSER0 IN0O user(host,user,passord) AL/ES(IG,GnamaJuserG,GpassordG)C 'ontoh 
mys-l> 6"S4*/ 6"/1 user(host,user,passord) 85L#4S(KlocalhostK,KharisK,MA(KifE2<K))C
Query 19, 2 ro affected, : arnings (. sec)
Seteleh anda memberikan perintah diatas, berikan perintah  %L/S (RIILEGES3 'ontoh 
mys-l> FL#SD %*686L4!4SC
Query 19,  ros affected (. sec)
-.2 Membe"i)an 4ewenang /n!#) /&e"
5pabila #ser telah dibuat terlebih dahulu dan lupa untuk memberikan Dak Neenang untuk #ser. 9ita dapat memberikan hak eenang dengan menggunakan %erintah Query #%5/4. SintaH yang digunakan seperti berikut 
/(+A0E user SE0selectJpriv OGyG,
6nsertJpriv OGyG, #pdateJpriv OGyG, eleteJpriv OGyG, 'reateJpriv OGyG, ropJpriv OGyG, 5lterJpriv OGyG 4ERE user OGharisGC
BAB 5
++L  +A0A +E%INI0ON LANG/AGE $
++L adalah sebuah metode Query SQL yang berguna untuk mendefinisikan data pada sebuah atabase.
5.1. 0y6e +a!a 6ada MySQL
/ipe data adalah suatu bentuk pemodelan data yang dideklarasikan pada saat melakukan pembuatan tabel. /ipe data ini akan mempengaruhi setiap data yang akan dimasukkan ke dalam sebuah tabel. ata yang akan dimasukkan harus sesuai dengan tipe data yang dideklarasikan.
+erbagai type data pada MySQL dapat dilihat pada tabel berikut 
0y6e+a!a Ke!e"angan
/6"6"/ #kuran 2 byte. +ilangan bulat terkecil, dengan &angkauan untuk bilangan bertanda 20 sampai dengan 20< dan untuk yang tidak bertanda   s$d 0AA. +ilangan tak bertandai dengan kata #"S6!"4
SM5LL6"/ #kuran 0 +yte. +ilangan bulat dengan &angkauan untuk bilangan bertanda  30<E s$d 30<E< dan untuk yang tidak bertanda   s$d EAA3A
M46#M6"/ #kuran 3 byte. +ilangan bulat dengan &angkauan untuk bilangan bertanda  3E s$ d 3E< dan untuk yang tidak bertanda   s$d 2E<<<02A
6"/ #kuran : byte. +ilangan bulat dengan &angkauan untuk bilangan bertanda  02:<:3E: s$d 02:<:3E:< dan untuk yang tidak bertanda   s$d :0P:PE<0PA 6"/4!4* #kuran : byte. Sinonim dari int
+6!6"/ #kuran  byte. +ilangan bulat terbesar dengan &angkauan untuk bilangan bertanda  P0033<03EA:<<A s$d P0033<03EA:<<A< dan untuk yang tidak bertanda   s$d 2::E<::<3<PAA2E2A
FL15/ #kuran : byte. +ilangan pecahan 1#+L4 #kuran  byte. +ilangan pecahan 1#+L4%*4'6S61" #kuran  byte. +ilangan pecahan *45L #kuran  byte. Sinonim dari 1#+L4
4'6M5L (M,) #kuran M byte. +ilangan pecahan, misalnya 4'6M5L(A,0 dapat digunakan untuk menyimpan bilangan PP,PP s$d PP,PP
"#M4*6' (M,) #kuran M byte. Sinonim dari 4'6M5L, misalnya "#M4*6'(A,0) dapat digunakan untuk menyimpan bilangan PP,PP s$d PP,PP
Type Data untuk ilangan (!u"#er)
0y6e+a!a Ke!e"angan
5/4/6M4 #kuran  byte. 9ombinasi tanggal dan &am, dengan &angkauan dari 222 G s$d PPPP2032 03APAPG
5/4 #kuran 3 +yte. /anggal dengan &angkauan dari 222G s$d PPPP2032G
/6M4S/5M% #kuran : byte. 9ombinasi tanggal dan &am, dengan &angkauan dari 2P<22 G s$d 03<G
/6M4 #kuran 3 byte. Naktu dengan &angkauan dari 3PAPAPG s$d 3APAPG 45* #kuran 2 byte. ata tahun antara 2P2 s$d 02AA
Type Data untuk Tanggal dan $a"
0y6e+a!a Ke!e"angan
'D5* Mampu menangani data hingga 0AA karakter. /ipe data 'D5*
mengharuskan untuk memasukkan data yang telah ditentukan oleh kita. 85*'D5* Mampu menangani data hingga 0AA karakter. /ipe data 85*'D5* tidak
mengharuskan untuk memasukkan data yang telah ditentukan oleh kita. /6"+L1+, /6"/4;/ #kuran 0AA byte. Mampu menangani data sampai 0R2 data.
+L1+, /4;/ #kuran EAA3A byte. /ype string yang mampu menangani data hingga 0R2E2 (2EM2) data.
M46#M+L1+, M46#M/4;/ #kuran 2E<<<02A byte. Mampu menyimpan data hingga 0R0:2 (2EM2) data.
L1"!+L1+, L1"!/4;/ #kuran :0P:PE<0PA byte. Mampu menyimpan data hingga berukuran !6!5 +/4. /ipe data ini memiliki batas penyimpanan hingga 0R302 (:!2) data.
4"#M(nilai2G,Gnilai0G,,Gnilai"G) #kuran 2 atau 0 byte. /ergantung ¨ah nilai enumerasinya (maksimum EAA3A nilai)
S4/(nilai2G,Gnilai0G,,Gnilai"G) 2,0,3,: atau  byte, tergantung ¨ah anggota himpunan (maksimum E: anggota)
Type Data untuk %arakter dan Lain&lain
5.2 Menci6!a)an +a!aba&e
atabase adalah sebuah media utama yang harus dibuat dalam membangun sebuah basis data agar nantinya dapat kita letakkan beberapa tabel dengan fieldfieldnya.
%erintah yang digunakan untuk menciptakan database pada MySQL dengan SyntaH berikut  7REA0E +A0ABASE namaJdatabaseC
'ontoh 
mys-l> create database pendaftaranC Query 19, 2 ro affected (.22 sec)
%ada contoh diatas, -uery 19 menyatakan baha pembuatan database dengan nama pendaftaran berhasil dibuat, untuk melihat database yang ada pada MySQl dapat menggunakan S6ntaH berikut C
SO4 +A0ABASES3 'ontoh 
5.- Mengha6#& +a!aba&e
#ntuk menghapus atabase yang telah dibuat dapat menggunakan -uery SQL berikut  +RO( +A0ABASE namaJdatabaseC
rop berarti menghapus. Query SQL ini berfungsi untuk menghapus sebuah database, seperti contoh berikut 
mys-l> drop database pendaftaranC Query 19,  ros affected (.0 sec)
5.5 Menci6!a)an 0abel
/abel adalah obyek utama yang harus ada pada sebuah basis data karena di dalamnya semua data akan disimpan. /abel terletak pada sebuah database, sehingga pembuatan tabel dilakukan
setelah sebuah database telah dibuat. alam tabel terdapat bari dan kolom. +aris diistilahkan dengan recordset dan kolom dengan field.
Reco"d&e! %ield
6d "ama 5lamat %hone
2 +oy /rimoyo l. #&ung berung 2AE:PA22 0 6rfan "urhudin 9p. %anyileukan 'ibiru 2000PA:3:
#ntuk membuat sebuah tabel atau lebih, database harus diaktifkan dulu karena tabel akan dimasukkan ke dalam database yang akan diaktifkan. SintaH untuk mengaktifkan atabase adalah 
/SE namaJdatabaseC 'ontoh 
mys-l> use pendaftaranC atabase changed
Setelah masuk ke dalam database anda dapat membuat sebuah tabel atau lebih. #ntuk membuat tabel dapat menggunakan sintaH dibaah ini 
7REA0E 0ABLE namaJtabel ( field2 type(length), field0 type(length), field3 type(length),  .(.))C
'ontoh 
mys-l> create table dataJdiri ( > no int(3), > nama varchar(3A), > alamat varchar(E), > email varchar(:), > noJtelepon varchar(2A), > seH char(2))C
Query 19,  ros affected (. sec)
%ada contoh diatas, -uery 19 menyatakan baha pembuatan tabel dengan nama dataJdiri berhasil dibuat, untuk melihat tabel yang ada pada database dapat menggunakan S6ntaH berikut C
SO4 0ABLES3
'ontoh 
5.8 Meliha! S!"#)!#" 0abel
Setelah tabel dibuat, anda dapat melihat tipe data dan pan&ang recordset dengan cara menampilkan struktur tabel. %erintah yang digunakan untuk menampilkan struktur tabel adalah 
+ES7 namaJtabelC 5tau
+ES7RIBE namaJtabelC
'ontoh 
5.9 Mengha6#& 0abel
#ntuk menghapus /abel yang telah dibuat dapat menggunakan -uery SQL berikut  +RO( 0ABLE namaJtabelC
rop berarti menghapus. Query SQL ini berfungsi untuk menghapus sebuah /abel, seperti contoh berikut 
mys-l> drop table dataJdiriC
Query 19,  ros affected (.3 sec)
5.: Memb#a! K#nci ("ime"  ("ima"y Key $
alam membuat sebuah database, kita akan menemukan sebuah record yang data nya tidak boleh sama dengan record yang lain. 5gar data tidak kembar maka harus membuat sebuah kolom yang di deklarasikan sebagai kunci primer (primary key), %rimary key hanya diperboleh kan dibuat satu kunci. SyntaH untuk menciptakan kunci primer (primary key) adalah 
7REA0E 0ABLE namaJtabel ( field2 type(length)(RIMAR; KE;, field0 type(length),  .(.))C
'ontoh 
5.< Memb#a! Kolom /ni)  /ni#e $
9olom #ni-ue adalah sebuah bentuk kolom yang tidak mengi7inkan adanya data kembar. 5pabila pada proses input terdapat data kembar maka proses tersebut akan digagalkan atau ditolak oleh database.
SyntaH untuk menciptakan 9olom unik (#ni-ue) adalah 
7REA0E 0ABLE namaJtabel ( field2 type(length), field0 type(length),  .(.),/NIQ/E (field2,field 0))C
'ontoh 
mys-l> 'reate table pribadi ( > kdJpribadi 'D5*(3), > panggilan char(:), > nama varchar(3A), > email varchar(A), > seH char(2), > #"6Q#4 (kdJpribadi,panggilan))C Query 19,  ros affected (. sec)
5.= Mani6#la&i 0abel
%erubahan tabel yang telah dibuat akan selalu dilakukan mengingat perkembangan database, termasuk diantaranya menambahkan beberapa field pada tabel, mengganti nama field maupun tabel.
'..1 Mengganti na"a ta#el
Query SQL untuk merubah nama tabel dengan menggunakan RENAME, SintaH seperti berikut 
RENAME 0ABLE tabelJlama 0O tabelJbaruC 'ontoh 
mys-l> rename table pribadi to dataJpribadiC Query 19,  ros affected (.0 sec)
'.. Mena"#ah *ield pada Ta#el
Menambah kolom dapat diartikan sebagai langkah untuk menyisipkan field baru pada sebuah tabel. #ntuk melakukan penambahan Field maka AL0ER spesifikasi yang digunakan adalah A++. SintaH yang digunakan adalah 
AL0ER 0ABLE namaJtabel A++ namaJfield /ypeJdata(length)C 'ontoh 
mys-l> alter table dataJdiri add golJdarah char(2)C Query 19,  ros affected (.2: sec)
*ecords  uplicates  Narnings 
'..3 Menghapus *ield pada Ta#el
%ada pembuatan database pasti terdapat kesalahan seperti pada field tabel yang berlebihan dan lainlain. #ntuk melakukan %enghapusan Field maka 5L/4* spesifikasi yang digunakan adalah +RO(. SintaH yang digunakan adalah 
AL0ER 0ABLE namaJtabel +RO( namaJfieldC
'ontoh 
mys-l> alter table dataJdiri drop golJdarahC Query 19,  ros affected (.A sec)
*ecords  uplicates  Narnings 
BAB 8
+ML +A0A MANI(/LA0ION LANG/AGE$
+ML adalah sebuah metode Query yang dapat digunakan apabila L telah ter&adi, sehingga fungsi dari Query ML ini untuk melakukan pemanipulasian database yang telah dibuat.
+uatlah atabase +ukuJtamu dan didalamnya terdapat tabel tbJtamu dengan Struktur tabel berikut 
Field /ype Length 9eterangan "o 6nt 3 %rimary key "ama 8archar 3A
5lamat 8archar E 4mail 8archar : "oJtelp 8archar 2A
8.1 Mema&#))an +a!a 6ada !abel  INSER0 $
Memasukkan data atau entry data, dalam semua program yang menggunakan -uery SQL sebagai standar permintaannya, digunakan perintah 6"S4*/. Syarat untuk memasukkan data adalah telah terciptanya tabel pada sebuah database. SintaH yang digunakan adalah 
INSER0 IN0O namaJtabel AL/ES (isiJfield2G, isiJfield0G, isiJfield3G,.., isiJfield"G)C 'ontoh 
mys-l> insert into tbJtamu values(K2K,K+oi trimoyoK,Ku&ung berungK,KboJi<<Tyahoo.comK,KAE23A:<PK)C
Query 19, 2 ro affected (.A sec)
Maka data telah masuk ke dalam tabel seperti berikut 
8.2 Mem6e"ba"#i I&i +a!a  /(+A0E $
Memperbarui isi data atau update data adalah sebuah proses merema&akan data lama men&adi data yang lebih baru. "amun tidak semua data dalam database yang perlu direma&akan, melainkan sebagian data yang dianggap perlu untuk direma&akan. Query SQL yang digunakan adalah #%5/4 yang di ketikkan seperti berikut 
/(+A0E namaJtabel SE0 fieldJ2 O dataJbaruG, fieldJ0 OGdataJbaruG, . , FieldJ" OGdataJbaruGC 'ontoh 
mys-l> update tbJtamu set
> namaOKirfan nurhudinK here namaOU+oi trimoyoUC Query 19, 2 ro affected (. sec)
*os matched 2 'hanged 2 Narnings 
Maka hasilnya akan berubah seperti berikut 
ata yang asalnya bernama +oi trimoyo berubah men&adi irfan nurhudin yang dihasilkan dari -uery SQL #%5/4.
8.- Mengha6#& +a!a  +ELE0E $
#nutk menghapus data, MySQL memiliki -uery bernama 4L4/4. %enggunaannya diikuti dengan nama data yang akan dihapus. +erikut SintaH untuk menghapus semua data yang terdapat pada tabel 
+ELE0E %ROM namaJtabelC
Sedangkan berikut sintaH untuk menghapus data yang diinginkan dari sebuah tabel  +ELE0E %ROM namaJtabel 4ERE kondisiC
'ontoh 
6sikan data pada tabel tbJtamu seperti dibaah ini 
#ntuk menghapus data nomor : yang terdapat pada tabel tbJtamu maka gunakan -uery sepertin dibaah ini 
mys-l> delete from tbJtamu here noOK:KC Query 19, 2 ro affected (.3 sec)
Maka hasilnya akan seperti dibaah ini baha data nomor : yang bernama ridan telah dihapus menggunakan -uery 4L4/4 
BAB 9
SELEKSI +A0A
Menampilkan data adalah hal yang sangat penting karena kita harus melihat dan menyeleksi suatu data dalam table maupun antar table. #ntuk Melihat data atau Selection,Query yang digunakan adalah SELE70 yang diikuti beberapa pernyataan khusus berkenaan dengan tabel yang diseleksi.
9.1 Menam6il)an +a!a +a"i &eb#ah 0abel
#ntuk menampilkan dari sebuah tabel dapat menggunakan SintaH berikut  SELE70 (Field2, field0, , Field") %ROM namaJtabelC
Query diatas mengartikan baha data yang akan ditampilkan didalam tabel hanya filed ? filed tertenu.
5tau
SELE70 > %ROM namaJtabelC
Query diatas mengartikan baha data dari seluruh Field yang terdapat dalam tabel akan ditampilkan.
'ontoh 
5tau
9.2 Menam6il)an +a!a dengan (e"in!ah 4ERE
ND4*4 yang artinya dimana, untuk menampilkan data menggunakan perintah here (dimana) dapat menggunakan perintah berikut 
SELE70 > %ROM namaJtabel 4ERE kondisi 'ontoh 
ata sebelumnya yang ada pada tabel tbJtamu seperti berikut 
Maka akan menampilkan data menggunakan perintah here  SELE70 > %ROM tbJtamu 4ERE alamatOGu&ung berungGC
'ontoh diatas mengartikan baha sintaH meminta untuk menampilkan semua data yang ada pada tabel tbJtamu yang dimana akan ditampilkan dari field alamat yang isi data dari field alamat hanya u&ung berung. Maka yang keluar adalah data ang filed alamatnya hanya u&ung berung.
9.- Menam6il)an +a!a dengan BE04EEN
+eteen artinya diantara, beteen befungsi untuk menampilkan data yang tertentu misalnya diantara 0 dan A. #ntuk menampilkan data dengan beteen dapat menggunakan sintaH berikut 
SELE70 > %ROM namaJtabel 4ERE kondisi BE04EEN nilaiJ2 AN+ nilaiJ0C
+uatlah sebuah 5/5+5S4 dengan nama dbJstock kemudian buatlah tabel didalamnya dengan nama tabel tJbarang kemudian isi data seperti berikut 
'ontoh 
SELE70 > %ROM tJbarang 4ERE hargaJbrg BE04EEN 3<A AN+ :A
'ontoh diatas menun&ukkan baha semua data ditun&ukkan dari tabel tJbarang dimana yang ditampilkan dari field hargaJbrg diantara 3<A dan :A. Maka data yang tampil hanya data yang bernilai 3<A sampai :A.
9.5 Menam6il)an +a!a dengan (e"in!ah LIKE
%erintah Like kadang dibutuhkan dalam pembuatan database yaitu dalam menampilkan data tertentu yang hanya berkaitan dengan katakata yang diinginkan. Query yang digunakan adalah 
SELE70 > %ROM namaJtabel 4ERE 9ondisi LIKE ?@namaJkaitan@C
Maka data yang ditampilkan hanya nama barang yang berkaitan dengan kata M6'*1S1F/.
9.8 Menam6il)an +a!a dengan (eng#"#!an So"!ing OR+ER B;$
Fungsi ini digunakan untuk melakukan pengurutan data, sehingga data dari sebuah atau beberapa tabel dapat tampil berurutan sesuai keinginan. %engurutan data terbagi men&adi dua 
• ASC(pengurutan dengan 5scending)
• DESC(pengurutan dengan escending)
SintaH yang digunakan adalah 
SELE70 > %ROM namaJtabel OR+ER B; kolom /ype 'ontoh 
Select @ from tJbarang order by namaJbarang ascC
an Select @ from tJbarang order by namaJbarang ascC
9.9 Menam6il)an +a!a dengan (engelom6o))an da!a GRO/( B;$
!roup +y adalah fungsi untuk mengelompokkan data dalam sebuah kolom yang ditun&uk. Fungsi ini akan menghasilkan kelompok data dengan menghilangkan data yang sama dalam satu tabel. Maka apabila dalam satu kolom terdapat beberapa data yang sama maka data yang akan ditampilkan hanya salah satu. SintaH yang digunakan seperti berikut 
SELE70 > %ROM namaJtabel GRO/( B; namaJkolomC 'ontoh 
9.9 Menam6il)an &e&#ai dengan %#ng&i S!a&!i&!ic
+.+.1 *ungsi C,-!T
Fungsi ini biasanya digunakan untuk melakukan pengecekan ¨ah data dalam sebuah tabel yang isinya ratusan hingga ribuan, sehingga kita tidak dapat menghitungnya secara manual. MySQL memiliki perintah untuk mengatasinya yaitu dengan menggunakan '1#"/(). SintaHnya seperti berikut 
SELE70 7O/N0 >$ %ROM namaJtabelC 'ontoh  mys-l> S4L4'/ '1#"/(@) F*1M tbJtamuC VV W '1#"/(@) W VV W : W VV
2 ro in set (. sec)
+.+. *ungsi -M
S#M berfungsi untuk mencari nilai total dalam suatu kolom pada sebuah tabel didalam database. Query pada MySQL adalah S#M(). S6ntaH yang digunakan seperti berikut 
SELE70 S/M(namaJkolom) %ROM namaJtabelC 'ontoh 
mys-l> select S#M(hargaJbrg) from tJbarangC VV
W S#M(hargaJbrg) W VV W 0<<A W VV 2 ro in set (. sec)
9.: Menam6il)an +a!a Se&#ai dengan %#ng&i S!"ing
+./.1 *ungsi L0*T (2n)
+erfungsi mengambil data berdasarkan string dari se¨ah n karakter dari string ; dari kiri. SintaH yang digunakan seperti berikut 
SELE70 > %ROM namaJtabel 4ERE LE%0(namaJkolom,¨ahJkarakter)OXkarakterXC 'ontoh 
ata sebelumnya
engan menggunakan fungsi L4F/ akan men&adi berikut 
Maka yang ditampilkan adalah isi data yang kode barangnya hanya beraal dari huruf . +./. *ungsi R45T (2n)
Fungsi *ight hamper sama dengan fungsi L4F/ hanya Query *6!D/ +erfungsi mengambil data berdasarkan string dari se¨ah n karakter dari string ; dari 9anan. SintaH yang digunakan seperti berikut 
SELE70 > %ROM namaJtabel 4ERE RIG0(namaJkolom,¨ahJkarakter)OXkarakterXC 'ontoh 
Maka yang ditampilkan adalah isi data yang kode barangnya hanya berakhir dari nomor 0. +./. *ungsi MD (2n26)
+erfungsi mengambil data berdasarkan string dari se¨ah dari string ; n karakter se¨ah n karakter dari posisi kiri. SintaH yang digunakan seperti berikut 
SELE70 > %ROM namaJtabel 4ERE MI+(namaJkolom,posisiJn,¨ahJkarakter)OXkarakterXC 'ontoh 
Maka yang ditampilkan adalah isi data yang kode barangnya berasal Duruf % dari 0 huruf karakter sebelah kiripada kolom kode barang.
9.< Menam6il)an da!a dengan nilai !e"!inggi dalam &eb#ah !abel MA$
#ntuk mencari nilai tertinggi pada suatu data didalam database. SQL menyediakan
fungsi M5;. Query yang digunakan seperti berikut 
SELE70 MA
(namaJkolom)
%ROMnamaJtabelC
'ontoh 
mys-l> select maH(hargaJbrg) from tJbarangC
VV
W maH(hargaJbrg) W
VV
W EA
W
VV
2 ro in set (.0 sec)
9.= Menam6il)an da!a dengan nilai !e"endah dalam &eb#ah !abel MIN$
#ntuk mencari nilai terendah pada suatu data didalam database. SQL menyediakan
fungsi M6". Query yang digunakan seperti berikut 
SELE70 MIN
(namaJkolom)
%ROMnamaJtabelC
'ontoh  mys-l> select min(hargaJbrg) from tJbarangC
VV
W min(hargaJbrg) W
VV
W 3A
W
VV
2 ro in set (. sec)
BAB :
SELEKSI AN0AR 0ABEL
alam sebuah database yang berelasional, kita dapat menampilkan data dari dua tabel
atau tiga tabel yang berbeda. 5kan tetapi, apabila beberapa tabel tersebut merupakan yang
berelasi, kita harus menggunakan teknik seleksi relasi khusus. %ada bab ini sebaiknya kita
menyediakan database dan tabel nya terlebih dahulu untuk merelasikan antar tabel.
+uatlah atabase dengan nama database  dokter
9emudian buatlah tabel dengan intetas berikut 
• !bC&6e&iali&
%ield 0i6e (anDang K#nci Key$
9dJspesialis char 3 %rimari key spesialis varchar 3A
• !bCdo)!e"
%ield 0i6e (anDang K#nci Key$
9dJdokter char 3 %rimarykey "amaJdokter varchar 3A
9dJspesialis char 3 Foreign9ey telepon varchar 2A
seH char 2
• !bCDaga
%ield 0i6e (anDang K#nci Key$
9dJdokter 'har 3 Foreign9ey hari 8archar 2A
amJmulai /ime amJselesai time
9emudian isilah data pada setiap tabel seperti dibaah ini 
• !bC&6e&iali& KdC&6e&iali& &6e&iali& #MM okter #mum LM %enyakit alam 5"9 5nak 9! 9andungan +D +edah /! antung/D/ /elinga Didung dan /enggorokan !6! !igi
S*F Saraf 9L/ 9ulit M5/ Mata
•
tbJdokter
KdCdo)!e" NamaCdo)!e" KdC&6e&iali& !ele6on Se
2 r. +oi /rimoyo #MM 222222222 % 0 r. 6rfan nurhuddin LM 000000000 % 3 r. Musanto +D 333333333 % : r. umar /! ::::::::: % A r. 6brahim 9! AAAAAAAAA % E r.a&i S*F EEEEEEEEE % < r. ridan M5/ <<<<<<<<< %  r. fa&ar 5"9  % P r. mory #MM PPPPPPPPP % 2 r. serly +D  N 22 r. 'handra #MM 22222 % 20 r. bayha-i +D 00000 % 23 r.rina 5"9 33333 N 2: r.agus #MM :::::: % 2A r. andin 9! AAAAAA  2E r. labala +D EEEEEE % 2< r. fau7i +D <<<<<< % 2 r. neneng 9!  N