Anda di halaman 1dari 32

PENGANTAR MYSQL

Pendahuluan
Keunggulan MySQL
Sistem Server Database MySQL
Referensi
Pendahuluan
SQL ( Structured Query Language ) adalah bahasa stndart yang digunakan
untuk mengakses server database . Semenak tahun !"#an bahasa ini telah
dikembangkan $leh %&M' yang kemudian diikuti dengan adanya (racle' %nf$rmi)
dan Sybase. Dengan menggunakan SQL' *r$ses akses database menadi lebih
user#friendly dibandingkan dengan misalnya d&ase atau*un +li**er yang masih
menggunakan *erintah , *erintah *emr$graman murni.
Selain MySQL' ada bebera*a enis *em$graman yang ber$rientasi
database yang da*at digunakan untuk a*likasi di -eb se*erti (R.+L/. (racle
meru*akan sebuah *erusahaan besar di dunia yang caku*an bisnis salah satunya
adalah *enualan s$ft-are dan *embuatan s$ft-are database yang di*eruntukkan
bagi *erusahaan#*erusahaan besar di dunia. Karena s$ft-arenya tidak bebas di
0*asaran1 atau tidak free s$ft-are maka sebagian besar *erusahaan kecil atau
menengah atau *r$grammer -eb masih menggunakan database MySQL sebagai
s$ft-are database *erusahaan atau -ebnya.
&erita terayar mengabarkan bah-a (R.+L/ meru*akan *erusahaan yang
menda*atkan keuntungan terbesar dalam bisnis s$ft-are database.
MySQL adalah sebuah server database SQL multiuser dan multi#threaded.
SQL sendiri adalah salah satu bahasa database yang *aling *$*uler di dunia.
%m*lementasi *r$gram server database ini adalah *r$gram daem$n 2mys3ld2 dan
bebera*a *r$gram lain serta bebera*a *ustaka.
MySQL dibuat $leh 6c7 dan telah di*ercaya mengel$la sistem dengan 8" buah
database berisi 5"'""" tabel dan 9"" di antaranya memiliki ! uta baris (kira#kira
5"" gigabyte data). Database ini dibuat untuk ke*erluan sistem database yang
ce*at' handal dan mudah digunakan. :alau*un memiliki kemam*uan yang cuku*
baik' MySQL untuk sistem $*erasi ;ni) bersifat free-are' dan terda*at versi
share-are untuk sistem $*erasi -ind$-s. Menurut *embuatnya' MySQL disebut
se*erti <my#ess#3ue#ell< dan bukan my#se3uel =
Sebagaimana database sistem yang lain' dalam SQL uga dikenal hierarki
server dengan database#database. 6ia*#tia* database memiliki tabel#tabel. 6ia*#
tia* tabel memiliki field#field.
;mumnya inf$rmasi tersim*an dalam tabel , tabel yang secara l$gik meru*akan
struktur > dimensi terdiri atas baris dan k$l$m.?ield#field tersebut da*at beru*a
data se*erti int ' realm char' date' time dan lainnya.
SQL tidak memiliki fasilitas *emr$graman yang lengka*' tidak ada
l$$*ing atau*un *ercabangan 'misalnya. Sehingga untuk menutu*i kelemahan ini
*erlu digabung dengan bahasa *emr$graman semisal +.
Dalam training ini kita menggunakan MySQL sebgai SQL server karena
berbagai kelebihannya. .ntara lain@
5. S$urce MySQL da*at di*er$leh dengan mudah dan gratis
>. Sintaksnya lebih mudah di*ahami dan tidak rumit
A. Pengaksesan database da*at dilakukan dengan mudah
Keunggulan MySQL
MySQL meru*akan *r$gram yang multi#threaded' sehingga da*at
di*asang *ada server yang memiliki multi#+P;.
Didukung *r$gram#*r$gram umum se*erti +' +BB' Cava' Perl' PDP'
Pyth$n' 6+L .P%s dls.
&ekera *ada berbagai *latf$rm. (tersedia berbagai versi untuk
berbagai sistem $*erasi).
Memiliki enis k$l$m yang cuku* banyak sehingga memudahkan
k$nfigurasi sistem database.
Memiliki sistem sekuriti yang cuku* baik dengan verifikasi h$st.
Mendukung (D&+ untuk sistem $*erasi Micr$s$ft :ind$-s.
Mendukung rec$rd yang memiliki k$l$m dengan *anang teta* atau
*anang bervariasi. dan masih banyak keunggulan lainnya (lihat
manual mys3lEA.>>)
MySQL meru*akan s$ft-are yang free' dan bisa di d$-nl$ad di
---.mys3l.c$m. Sedangkan s$ft-are database lainnya se*erti
(R.+L/ meru*akan s$ft-are yang harus di beli.
MySQL dan PDP saling terintegrasi. Maksudnya adalah *embuatan
database dengan menggunakan sintak PDP da*at di buat. Sedangkan
in*ut yang di masukkan melalui a*likasi -eb yang menggunakan scri*t
server#side se*erti PDP da*at langsung dimasukkan ke database
MySQL yang ada di server dan tentunya -eb tersebut berada di sebuah
-eb server.
Sistem Server ata!ase MySQL
Sistem database MySQL memiliki sistem sekuritas dengan tiga verifikasi
yaitu user(name)' *ass-$rd dan h$st. 4erifikasi h$st memungkinkan untuk
membuka sekuriti di 2l$calh$st2' teta*i tertutu* bagi h$st lain (bekera di l$kal
k$m*uter). Sistem sekuriti ini ada di dalam database mys3l dan *ada tabel
user. Pr$teksi uga da*at dilakukan terhada* database' tabel' hingga k$l$m
secara ter*isah.
Re"erensi
Referensi *engetahuan tentang MySQL secara umum telah di*andang
cuku* dari manual yang telah diberikan $leh 6c7 (mys3lEA.>>). &ebera*a
buku lain tengan database SQL banyak dium*ai dan da*at memberikan
*engetahuan tambahan tentang *emr$graman SQL.
.kses Databases
Pada umumnya akses ke database melalui tiga taha*an' yaitu F
5. K$neksi ke database (*ersia*an)
> .QueryG*ermintaan data ($*erasi)
A. Pemutusan k$neksi
K$neksi ke database dilakukan menggunakan fungsi#fungsi
mysql_connect(), mysql_pconnect(), mysqlselect_db().
;ntuk lebih lanutnya' kita akan membahasnya *ada bagian m$dul
berikutnya.
INSTALASI AN TIPE ATA
%nstalasi MySQL
6i*e Data
Instalasi MySQL
;ntuk bisa bekera dengan s$ft-are MySQl' tentunya s$ft-are tersebut
harus terinstal terlebih dahulu di k$m*uter kita. ;ntuk menda*atkan s$ft-are
tersebut kita da*at d$-nl$ad dari -ebsite resmi MySQL yaitu
htt*FGG---.mys3l.c$m. Di -ebsite tersebut ada bebera*a s$ft-are MySQL dari
yang terlama sam*ai yang terbaru.
Dalam m$dul ini kita akan menggunakan MySQL versi mys3l#A.>A.A>#
-in. Setelah anda d$-nl$ad' file tersebut harus di ekstrak su*aya kita da*at
menginstalnya. Setelah di ekstrak maka kita install dengan menekan file setup dua
kali. Selanutnya ikuti instruksi yang ada ketika instalasi.
Setelah kita berhasil menginstal s$ft-are tersebut' maka untuk
menalankannya kita harus memulainya dari D$s#Pr$m*t. &uka tam*ilan D$s#
Pr$m*t dari menu *r$gram *ada t$mb$l start. Cika kita meletakkan file instalasi
mys3l di direkt$ri 0cFHmys3l1 maka *ada tam*ilan D$s#Pr$m*t kita masuk ke
direct$ri tersebut. Perhatikan gambar di ba-ah ini F
Dari gambar di atas' maka da*at dielaskan bah-a F
Pada baris *ertama yaitu c:\windows\cd\
Dengan di tulisnya cdH berarti kita *indah ke direct$ri asal yaitu 0cFH1. .da uga
sintak 0cd..1 yang berarti bah-a kita naik ke f$lder yang di atas f$lder
sebelumnya.
Karena ketika kita menginstalnya di f$lder cFHmys3l maka kita harus
masuk ke mysql. ;ntuk mengk$nfigurasinya maka kita harus masuk ke f$lder
0bin dengan menuliskan *ada tam*ilan D$s#Pr$m*t 0cFHmys3lHbin1
.gar m$dul mys3l beralan dengan baik dan da*at terakses dengan benar
maka kita harus menalankan mysqldump yang ada di f$lder bin dengan sintak
mysqld~2, uga kita harus menalankan mysql-opt dengan sintak mysqld~1.
.gar bisa MySQL da*at beralan dengan baik di mana s$ft-are tersebut
teraga dengan diberi *ass-$rd dan *ass-$rd tersebut terestriksi dengan baik
maka gunakan sintak F
Sintak mysqladmin reload meru*akan *erintah untuk mengaktifkan mys3l
dan agar user dan *ass-$rdnya da*at aktif dengan baik.
Sintak mysqladmin u root password sm!ti berarti nama user adalah r$$t
dan *ass-$rd#nya adalah sm!ti.
Dal ini sangat berguna ketika kita ingi menghubungkan sintak PDP dengan
MySQL karena untuk menghubungkannya kita membutuhkan nama user yang
memiliki database tertentu dengan *ass-$rd yang harus ter*r$teksi su*aya user
lain tidak da*at melihat dan menggangu ini database yang telah ada.
Langkah selanutnya adalah F
;ntuk bisa masuk kedalam system MySQL maka kita harus menuliskan sintak F
mysql u root p
Maka akan muncul kalimat enter password . Pass-$rd yang kita masukkan adalah
*ass-$rd yang sudah kita nyatakan *ada sintak sebelumnya yaitu sm!ti.
Cika telah nam*ak sintak F
mysql"
mysql"
maka kita telah masuk kedalan system database MySQL tersebut.
Ti#e ata
&ebera*a enis ti*e data dalam MySQL memiliki ti*e tersendiri dalam tia*
field di table databasenya.
MySQL mengenal bebera*a ty*e data field' yaitu F
5. 6i*e data numerik
6i*e data numerik da*at dibedakan menadi dua kel$m*$k' yaitu ti*e data
integer dan ti*e data fl$ating *$int. 6i*e data integer untuk data bilangan
bulat sedangkan ti*e data fl$ating *$int digunakan untuk bilangan desimal.
6i*e data numeric da*at kita saikan dalam table di ba-ah ini F
6i*e data Kisaran nilai
6inyint (#5>J) , 5>! atau "#>>9
Smallint (#A>!IJ) , A>!I! atau " , I99A9
Mediumint (#JAJJI"J)#JAJJI"! atau "#5I!!!>59
%nt (#>58!IJAI8J)#(>58!IJAI8!) atau "#8>K8KI!>K9
&igint (#K>>AA!>"AIJ98!!9J"J)#(K>>AA!>"AIJ98!!9J"!)
atau
" # 5J88I!88"!A!"K995I59
?l$at()) (#A.8">J>A8II/BAJ)#(#5.5!98K8A95/#AJ)'"'dan
5.5!98K8A95/#AJ , A.8">J>A8II/ B AJ
?l$at %dem
D$uble (#5.!K!I/BA"J),(#>.>>/#A"J)'"'dan(>.>>/#A"J)#
(5.!K/BA"J)
&esar kebutuhan mem$ri *enyim*anan untuk masin#masing ti*e data di atas
sebagai berikut F
Column type Storage required
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(4) 4 bytes
FLOAT(8) 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE PRECISION 8 bytes
REAL 8 bytes
DECIMAL(MD) M bytes (D!2 "# M $ D)
NUMERIC(MD) M bytes (D!2 "# M $ D)
>. 6i*e data string
Lang termasuk dalam ti*e data string adalah ti*e#ti*e data berikut F
T"%e &'(') Kebutuhan memori penyimpanan
C*AR(M) M bytes 1 $+ M $+ 2,,
-ARC*AR(M) L!1 bytes ./e0e L $+ M 123 1 $+ M $+ 2,,
TINYBLOB TINYTE4T L!1 bytes ./e0e L $ 258
BLOB TE4T L!2 bytes ./e0e L $ 2516
MEDIUMBLOB
MEDIUMTE4T
L!3 bytes ./e0e L $ 2524
LONGBLOB
LONGTE4T
L!4 bytes ./e0e L $ 2532
ENUM
(781(9e17781(9e27:::)
1 '0 2 bytes 3e%e23"2; '2 t/e 29)be0 '# e29)e01t"'2
81(9es (6,,3, 81(9es )1<")9))
SET
(781(9e17781(9e27:::)
1 2 3 4 '0 8 bytes 3e%e23"2; '2 t/e 29)be0 '# set
)e)be0s (64 )e)be0s )1<")9))
A. 6i*e data -aktu
Lang termasuk dalam ti*e data tanggal dan -aktu adalah sebagai berikut F
Column type Storage required
DATETIME 8 bytes
DATE 3 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
6i*e data char() dan varchar() *ada *rinsi*nya sama. Lang menadi
*erbedaannya adalah *ada umlah mem$ri yang dibutuhkan untuk *enyim*anan.
Mem$ri *enyim*anan yang dibutuhkan ti*e data char() bersifat statis' besarnya
tergantung *ada bera*a umlah karakter yang diteta*kan *ada saat field tersebut
dideklarasikan. Sebaliknya' ti*e data varchar() besar mem$ri *enyim*anan
tergantung terhada* bera*a karakter yang digunakan ditambah 5 byte yang berisi
data umlah karakter yang digunakan.
SINTAK ASAR MySQL
Pengantar Sintak Dasar
Membuat Database &aru
Pengantar Sinta$ asar
MySQL meru*akan bahasa *em$graman database di mana *enulisan
sintaknya tidak serumit bahasa *em$graman lainnya se*erti ava' +BB dan
sebagainya. Satu hal yang *erlu diingat bah-a setia* *enulisan scri*t MySQL di
D$s#Pr$m*t harus selalu diakhiri dengan tanda titik k$ma (@).
Di dalam s$urce MySQL yang telah terinstal secara default telah terisi
sebuah database yang bernama mysql dan tes . ;ntuk da*at menam*ilkan a*asaa
nama database yang telah ada mau*un yang akan kita buat' gunakan sintak F
#ysql" s$ow databases%
Perhatikan c$nt$h di ba-ah ini F
+$nt$h di atas menunukkan bah-a dengan menggunakan sintak s$ow
databases% berarti kita da*at menam*ilkan seluruh nama database yang telah ada.
Sintak untuk bisa masuk kedalam salah satu system database tersebut adalah F
#ysql"use nama_database%
Perhatikan gambar di ba-ah ini F
Dengan mengetikkan sintak use mysql% dan keluar kalimat database change'
berarti kita telah masuk ke dalam database mys3l yang telah ada.
Di setia* database tentu ada terda*at bebera*a table yang menadi k$m*$nen
dasar sebuah database. Sintak untuk menam*ilkan seluruh table yang telah ada di
dalam database mys3l adalah F
mysql"s$ow tables%
*erhatikan gambar di ba-ah F
Dari gambar di atas' kita da*at melihat bah-a di dalam database mys3l
sudah ada bebera*a table yang telah default dari mys3l#nya sendiri. Didalam
database tersebut ada table columns_pri& (columns_pri&ile'e), db, $ost,
tables_pri&ile'e, dan user di mana tia* tablenya memiliki fungsi tertentu yang
da*at diakses $leh tia* user. Database mys3l ini biasanya sering digunakan bagi
-ebmaster sebagai tem*at *enyim*anan data' karena table#table yang telah ada
dan table yang dibutuhkan sebagian besar telah ter*enuhi. ?ungsi tia* table
tersebut akan kita bahas di ba-ah ini.
;ntuk bisa melihat isi seluruhnya dari salah satu table se*eti user' maka
gunakan sintak sebagai berikut F
ms%l&sele't("r)m user*
Maka akan tam*il suatu k$l$m#k$l$m dan baris#baris yang telah ada se*erti
gambar di ba-ah iniF
Dari gambar di atas akan terlihat k$l$m h$st' user dan *ass-$rd yang telah terisi.
%si dalam k$l$m tersebut se*erti F
D$st ;ser Pass-$rd
L$calh$st R$$t 5fb!888I8cKbba98
L$calh$st meru*akan nama k$m*uter kita sendiri a*abila k$m*uter
tersebut kita adikan server. Sedangkan r$$t adalah nama user yang berhak *enuh
untuk mengatur database yang telah ada se*erti menambah user' memberi fasilitas
ke*ada user lain agar user lain da*at akses ke database tersebut' bahkan uga r$$t
bisa membuat database baru yang da*at digunakan ka*an*un. K$l$m *ass-$rd
yang terisi $leh k$mbinasi kHangka dan huruf di atas yaitu 5fb!888I8cKbba98
meru*akan hasil *ass-$rd yang telah terestriksi *ada sintak terdahulu yaitu
dengan menambahkan sintak password di de*an kata *ass-$rd itu sendiri.
Mem!uat ata!ase +aru
Mem!uat data!ase
;ntuk membuat sebuah database dengan nama Mf$rmulirN kita tidak *erlu
harus keluar terlebih dahulu dari salah satu database -alau kita sebelumnya telah
masuk ke dalamnya' untuk membuatnya gunakan synta) berikut
mysql>create database formulir;
Perhatikan gambar di ba-ah ini F
Cika ada kalimat query o!, 1 row a((ected (),** sec) berarti kita telah
berhasil membuat sebuah database yang bernama (ormulir.
Dan untuk menghapusnya, gunakan sintak sebagai berikut :
mysql>drop database formulir;
Perhatikan gambar di ba-ah ini F
Pada k$ndisi di atas' a*abila kita lu*a meletakkan tanda titik k$ma (@) di
akhir kalimat maka *ada baris setelahnya akan keluar tanda (#O). Di
sam*ing tanda tersebut harus kita beri tanda titik k$ma (@) agar da*at
beralan dengan baik.
Mem!uat ta!el
Setelah kita memasuki sebuah database' kita da*at mulai membuat tabel ,
tabel sesuai dengan ke*erluan kita. Dalam database dikenal *rimary key' yaitu
field yang menadi acuan data terhada* field#field lainnya dan *rimary key tidak
b$leh null.Misalkan nama tabelnya adalah MdataN' maka sintaknya adalah F
mysql>create table data (field1 typefield1 not null , field2 typefield2,
primary key (field1);
c$nt$h F
create table data (nama char(59) n$t null' alamat char(>")' *rimary key
(nama))@
Perhatikan gambar di ba-ah ini F
&erbeda dengan sintak membuat database yang baru (create database
(ormulir), membuat table dalam database harus langsung disertai dengan
menuliskan nama k$l$m dan ti*e datanya. 6an*a membuat hal tersebut maka kita
belum bis membuat suatu table karena k$l$mnya belum ada. Dan uga untuk
membuat suatu table yang baik maka harus disertai dengan primary !ey sebagai
k$l$m *embeda dari k$l$m yang lainnya agar user dalam mencari data tidak
mengalami kesusahan dalam mencari data yang diinginkan.
Mengisi ta!el
Setelah tabel terbentuk' kita da*at memulai *ekeraan mengisi database.
Synta) yang digunakan adalah F
mysql>insert into data (field1,field2) values (valuefield1,valuefield2);
c$nt$h F
insert int$ data (nama' alamat) values (MfirdausN'N*ustenaN)@
*erhatikan c$nt$h di ba-ah ini F
yang *erlu di*erhatikan' untuk ty*e field char data yang dimasukkan harus dia*it
tanda *etik M M' sedangkan untuk ti*e integer tidak.
;ntuk menam*ilkan isi dari im*ut yang barusan kita isi gunakan sintak F
mysql>select*from nama_table;
contoh :
selectPfr$m data@
*erhatikan gambar di ba-ah F
6anda (P) meru*akan *erintah untuk menam*ilkan seluruh k$l$m beserta
isinya. Cika kita ingin menam*ilkan hanya k$l$m nama saa' maka sintaknya
adalahF mysql>select field from nama_table;
c$nt$h F
select nama fr$m data@
Perhatikan gambar di ba-ah F
SINTAK MySQL ,Lan-utan.
/diting 6able
MenambahGmengha*usGmengubah field dari tabel
Menam*ilkan isi tabel
Editing Ta!le
Mengu!ah isi ta!el
;ntuk meng$reksi kesalahan data yang kita masukkan' atau untuk
mem*erbaharui value field yang lama da*at kita gunakan synta) berikut@
mysql>update nama_table set fieldl=valuefieldbaru;
c$nt$h F
u*date data set namaQNadnanN@
maka hasilnya adalah seluruh value field dari field yang ditentukan dari
sintak di atas yang telah terisi mau*un yang belum terisi akan berubah menadi
adnan' hal ini di sebabkan kita belum mengidentifikasi value field mana saa yang
harus berubah.
Perhatikan gambar di ba-ah F
Kalimat err$r se*erti di atas menandakan kalau ada kesalah *engisian.
Sebelumnya kita harus mengetahui k$ndisi field ketika *ertama kali kita
definisikan. Karena field nama meru*akan primary !ey dari table tersebut maka
tidak b$leh value field#nya yang sama agar ketika user mencari data' tidak ada isi
data yang sama. Cadi sifatnya harus unik. ;ntuk itu kita harus mengu*date field
selain field yang sudah kita definisikan sebagai *rimary key. ?ield lainnya adalah
alamat.
+$nt$hF
u*date data set alamatQNasramaN@
*erhatikan gambar di ba-ah F
mem*erbaharui value field yang lama atau yang masih k$s$ng tan*a harus
merubah seluruh value field dalam satu filed da*at kita gunakan synta) berikut@
mysql>updatenama_table set fieldl=ne!valuefield !"ere field2=valuefield2;
c$nt$h F
u*date data set alamatQN*ustenaN -here namaQNadnanN @
Maka yang berubah hanya isi k$l$m alamat dengan *$sisi seaar dengan
valuefield (firdaus) dari k$l$m nama.
Perhatikan gambar di ba-ah ini F

Mengha#us Isi Ta!le
;ntuk mengha*us valuefield *ada suatu tabel da*at di*akai synta)@
mysql>delete from nama_table !"ere field=valuefield;
c$nt$h F
delete fr$m data -here namaQNalik$meiniN@
Dasilnya adalah seluruh valuefield yang satu baris dengan valuefield yang
kita definisikan untuk di ha*us akan terikut hilang.
Perhatikan gambar di ba-ah ini F
Cika kita ingin mengha*us valuefield tertentu saa tan*a harus mengha*us
valuefield lainnya maka gunakan sintak u*date se*erti di atas namun *ada bagian
&alue(ieldbaru harus di k$s$ngkan agar hasilnya nanti tidak ada data yang masuk
sebagai in*ut.
c$nt$h F
u*date data set alamatQNN -here namaQNadnanN @
*erhatikan gambar di ba-ah F
Menam!ah/mengha#us/mengu!ah "ield dari ta!el
&ila kita ingin mem$difikasi field *ada tabel da*at digunakan synta)@
mysql>alter table nama_table add#drop field (typefield());
$ Menambah field dalam tabel' sintaknyaF
mysql>alter table nama_table add field typefield();
c$nt$hF
alter table data add tele*$n int(5")@
Perhatikan c$nt$h di ba-ah F
Pada gambar di atas ada tulisan R;LL. 6ulisan ini muncul karena ketika
kita menulis sintaknya tidak kita sertai dengan kata n$t null se*erti *ada
c$nt$h di atas. Karena itu kata R;LL akan $t$matis muncul. ;ntuk
menggantinya maka kita harus mengu*datenya dengan sintak se*erti di
atas.
# Menambah field dalam suatu table dengan mengatur *$sisi letak field' sintaknya
mysql>alter table nama_table add field typefield() after field;
c$nt$h F
alter table data add *ekeraan char(59) after alamat@
Perhatikan gambar berikut F
# Mengha*us field dalam tabel' sintaknya F
mysql>alter table nama_table drop field;
c$nt$h F
alter table data dr$* tele*$n@
Perhatikan gambar berikut F
# Mengganti nama dari field table
;ntuk mengganti *enamaan udul field dari sebuah table gunakan sintak F
mysql>alter table nama_table c"an%e name_field name_field_baru typefield
();
c$nt$h F
alter table data change *ekeraan tele*$n int(5")@
*erhatikan gambar berikut F
Perhatikan gambar tersebut. Sebelumnya kita telah mendefinisikan
ty*efield *ekeraan adalah 0char1' teta*i dengan sintak di atas kita da*at
sekaligus mengganti ti*efield dari field yang ingin kita ganti namanya dan uga
kita da*at mem*erbesar atau mem*erkecil ukuran ti*efieldnya. &ila kita tidak
ingin mengganti nama fieldnya teta*i hanya ingin mem*erbesar ukuran
ty*efieldnya sama maka sintaknya sama saa se*erti di atas teta*i *ada kalimat
nama_(ield_baru teta* di tulis nama_(ield yang a-al sedangkan ukurannya
da*at kita ganti di dalam kurung ().
Menam#il$an isi ta!el
untuk menam*ilkan keseluruhan isi table telah kita bahas di atas yaitu
dengan menggunakan synta)
mysql>select * from nama_field;
untuk menam*ilkan tabel dengan k$ndisi field tertentu semisal field nama
mysql>select field1,field2 from nama_field;
c$nt$h F
select nama' alamat fr$m data@
Menam*ilkan isi tabel dengan bebera*a key-$rd F
5. Distinct
Key-$rd ini berguna untuk menghilangkan rec$rd#rec$rd yang
sama.
Sintaknya F
mysql>select distinct field from nama_table ;
c$nt$h F
select distinct nama fr$m data@
>. &et-een
Key-$rd ini berguna untuk membatasi suatu k$l$m yang berada
*ada suatu batas nilai tertentu. Misalkan' buka tabel user di
database f$rmulir' sintaknya F
mysql>select field1, field2 from nama_table !"ere field2 bet!een
valuefield2 and valuefield2;
c$nt$h F
select nama' umur fr$m user -here tele*$n bet-een >9""""" and
>9A""""@
A. like
Key-$rd ini berguna untuk mencari data yang memiliki *$la
tertentu. Misalkan untuk mencari alamat user dengan kata uni)'
da*at digunakan 3uery F
mysql>select field from nama_table !"ere field like &'value';
c$nt$h F
select alamat fr$m data -here alamat like MScisituSN@
8. $rder by
Key-$rd ini berguna untuk menam*ilkan field sesuai abad. Sintak
F
mysql>select * from nama_table order by field;
c$nt$h F
selectPfr$m data $rder by nama@
untuk urutan kebalikannya da*at digunakan@
mysql>select field1,field2 from data order by field1 desc;
;ntuk sintak#sintak di atas gunakan sam*le data se*erti yang ada di dalam gambar
berikutF
AGREGATE 01N2TI3N AN P4PMYAMIN
.gregate ?uncti$n
Sub .gregate Dengan Tr$u* &y
Menyaring Dasil .gregate ?uncti$n
PDPML.DM%R
%nstalasii
+ara Kera Ph*Myadmin
Agregate 0un'ti)n
Selain dari *eng$lahan rec$rd#rec$rd' SQL uga menyediakan fungsi#
fungsi agregate dalam SQL adalah untuk menghitung hasil tam*ilan. Karena ia
sifatnya adalah untuk di tam*ilkan maka fungsi tersebut terg$l$ng dalam bagian
sintak select. &ebera*a enis fungsinya antara lain F
Rama fungsi ?ungsi
sum() Menghitung umlah eks*resi numerik
avg() Menghitung rata#rata eks*resi numerik
min() Menghitung angka minimal eks*resi numerik
ma)() Menghitung angka maksimal eks*resi numerik
c$unt() Menghitung umlah n$n#null eks*resi
c$unt(P) Menghitung umlah baris
;ntuk lebih elas' *erhatikan gambar berikut F
Dari table di atas' *erhatikan *ada k$l$m tele*$n dan umur' karena kedua
k$l$m tersebut yang memiliki value aritmatika.
Perhatikan sintak dasar dari functi$n aggregate di ba-ah ini F
mysql"select a''re'ate_(unction(nama_(ield) (rom nama_table%
c$nt$h 5F
select sum(umur) fr$m data@
Perhatikan hasilnya dalam gambar berikut F
Dari gambar di atas elas bah-a fungsi dari sum adalah menumlahkan
seluruh data yang bersifat arimatika.. Sedangkan kalau data yang ada di dalam
k$l$m tersebut tidak bersifat arimatika (angka) maka hasilnya adalah n$l.
Sedangkan bila dalam satu k$l$m terda*at berbagai enis data se*erti data angka
mau*un data kataGkalimat maka data yang terbaca adalah data aritmatika dan data
n$n angka di angga* tidak ada atau n$l.
+$nt$h >F
+elect a&'(umur) (rom data%
Maka hasilnya adalah F
Seluruh data di umlahkan kemudian di bagi dengan banyak data' sehingga
menghasilkan data se*erti di atas.
Su! Agregate engan Gr)u# +y
?ungsi Tr$u* &y adalah untuk menyatukan antara bebera*a field dalam
sebuah table di mana salah satu field atau lebih menggunakan agregate functi$n.
Misalnya' ika kita ingin menam*ilkan nama dengan rata#rata umur setia* *elaar
maka kita harus menggunakan sintak F
mysql"select (ield1, a''re'ate_(unction((ield2) (rom nama_table order by
(ield1%
c$nt$h F
select alamat' avg(umur) fr$m data gr$u* by alamat@
Maka hasilnya ada di gambar ba-ah ini F
Menyaring 4asil Agregate 0un'ti)n
;ntuk menyaring tam*ilan setelah dilakukan fungsi agregate' maka harus
menggunakan key-$rd $a&in'. Misalnya untuk menyaring *elaar dengan umur di
ba-ah 5K tahun' maka sintaknya adalah F
mysql"select (ield1, a''re'ate_(unction((ield2) (rom nama_table 'roup by (ield1
$a&in' a'ra'ate_(unction((ield2) operator_perbandin'an &alue(ield%
c$nt$h F
select alamat' avg (umur) fr$m data gr$u* by alamat having avg(umur) O>"@
Maka hasilnya adalah F
P4PMYAMIN
Instalasi
Ph*myadmin meru*akan s$ft-are yang digunakan untuk memudahkan
bagi sese$rang untuk membuat suatu database dengan ce*at tan*a harus mengetik
secara manual di D$s#Pr$m*t. S$ft-are ini da*at di d$-nl$ad di
htt*FGG---.*h*-iUard.net.
Setelah di d$-nl$ad dan di ekstrak maka hasilnya letakkan di f$lder di
mana kita *$sisikan d$cument R$$t -eb server kita. Peletakan ini akan kita
*elaari *ada m$dul PDP yang akan datang. Ramun sebelumnya ada file yang
*erlu di edit' yaitu file yang bernama con(i'.inc.p$p,. Di dalam file ini ada
bebera*a kalimat yang harus di edit yaitu
Pada bagian user dan *ass-$rd. Pada kedua baris itu kita harus menyamakannya
dengan k$ndisi ketika kita *ertama kali menginstal MySQL melalui D$sEPr$m*t.
Cika user#nya r$$t maka tulis di bagian tersebut r$$t' dan ika *ass-$rd MySQL#
nya smkti maka letakkan kata smkti di baris tersebut. ;ntuk lebih elasnya lagi
*erhatikan gambar di ba-ah ini F
Setelah selesai mengeditnya kemudian muka -ebserver yang telah ada
yaitu a*ache kemudian buka br$-ser %/ atau netsca*e' tulis di addressnya dengan
l$calh$st' maka secara $t$matis br$-ser akan membuka direct$ry d$cument r$$t
yang telah kita buat sebelumnya. ;ntuk lebih elasnya lagi mengenai *embuatan
-eb server dengan a*ache dan menalankan server#side scri*ting yaitu PDP' akan
kita bahas *ada m$dul berikutnya.
2ara Ker-a Ph#Myadmin
Setelah berhasil masuk kedalam l$calh$st maka kita masuk kedalam f$lder
Ph*Myadmin yang telah kita letakkan sebelumnya. Kemudian klik dua kali file
inde-,p$p, yang digunakan untuk menalankan s$ft-are tersebut. .da cara lain
tan*a harus mengklik file inde-.p$p, yaitu mengedit file htt*d.c$nf *ada bagian
0Direct$ry %nde)1 kita harus menulis ekstenti$n .p$p, atau .p$p agar ketika
br$-ser membuka f$lder tersebut' file tersebut $t$matis terbuka tan*a harus
mengklik file tersebut.
Setelah s$ft-are tersebut bekera maka akan tam*il br$-ser se*erti
gambar di ba-ah ini F
Pada br$-ser tersebut tam*ak bebera*a bagian yang menyatakan nama
database yang telah kita buat sebelumnya dengan menggunakan D$s#Pr$m*t yaitu
di sebelah kiri gambar sedangkan di sebelah kanan tam*ak suatu k$l$m yang di
*eruntukkan untuk membuat suatu database yang baru. Kalau kita tidak ingin
membuat database yang baru dan hanya ingin mengedit database yang lama maka
anda cuku* mengklik nama database yang telah ada di sebelah kiri tersebut' maka
Ph*myadmin akan memba-a anda ke halaman lainnya yang beru*a tem*at editing
database lengka* dengan field dan valuefieldnya.
Dalam m$dul ini kita akan membuat suatu database yang baru dengan
nama database registrasi. ;ntuk itu kita tinggal menuliskan kata registrasi di kl$m
yang telah tersedia kemudian klik butt$n create.
Maka akan tam*il suatu tam*ilan sebagai berikut F
Pada bagian *aling ba-ah yaitu create new table, di ba-ahnya terda*at
field name dan fields. Kedua k$l$m tersebut adalah digunakan ketika kita ingin
membuat table baru di dalam database tersebut. Misalkan nama tablenya adalah
data dan banyak fields#nya adalah 8' kemudian tekan butt$n 0g$1. Maka akan
tam*ak tam*ilan sebagai berikut F
Pada gambar di atas' banyak fieldnya kurang lengka*' hal ini karena
keterbatasan kertas. ;ntuk lebih elasnya lagi' anda da*at melihatnya sendiri ika
telah berhasil menalankannya. Di dalam gambar tersebut anda tinggal
memasukkan nama field' ty*efield' besar ti*efieldnya dan a*akah kita *$sisikan
field tersebut sebagai *rimary key atau tidak. ;ntuk k$ndisi *rimary key di
gambar atas tidak kelihatan. P$sisinya ada di sebelah *aling kanan dari gambar.
Setelah semuanya di isi' maka tekan butt$n save' maka anda akan di
tam*ilkan suatu halaman lainnya yaitu F
Pada gambar di atas' tam*ak *ada bagian di atas adalah sintak SQL yang
ika kita tulis di tam*ilan D$sEPr$m*t akan sama hasilnya yaitu akan
menghasilkan suatu table dengan nama data dan nama fieldnya adalah nama,
alamat, telepon, dan umur. Pada halaman ini kita dengan mudah memasukkan
data ke table yaitu dengan menekan dua kali kata insert' maka kita akan di
tam*ilkan suatu field#field yang memiliki nama se*erti yang kita buat
sebelumnya. ;ntuk melihat seluruh hasil in*ut ke database' kita cuku* mengklik
kata br$-se' maka kita akan di tam*ilkan seluruh isi field yang telah ada.

Anda mungkin juga menyukai