Anda di halaman 1dari 29

PENGANTAR MYSQL

Pendahuluan
SQL ( Structured Query Language ) adalah bahasa stndart yang
digunakan untuk mengakses server database . Semenjak tahun 70-an bahasa
ini telah dikembangkan oleh I!" yang kemudian diikuti dengan adanya
#racle" In$ormi% dan Sybase. &engan menggunakan SQL" 'roses akses
database menjadi lebih user-$riendly dibandingkan dengan misalnya dase
atau'un (li''er yang masih menggunakan 'erintah ) 'erintah
'emrograman murni.
Selain !ySQL" ada bebera'a jenis 'emograman yang berorientasi
database yang da'at digunakan untuk a'likasi di *eb se'erti #+,(L-.
#racle meru'akan sebuah 'erusahaan besar di dunia yang caku'an bisnis
salah satunya adalah 'enjualan so$t*are dan 'embuatan so$t*are database
yang di'eruntukkan bagi 'erusahaan-'erusahaan besar di dunia. .arena
so$t*arenya tidak bebas di /'asaran0 atau tidak $ree so$t*are maka
sebagian besar 'erusahaan kecil atau menengah atau 'rogrammer *eb
masih menggunakan database !ySQL sebagai so$t*are database
'erusahaan atau *ebnya.
erita terayar mengabarkan bah*a #+,(L- meru'akan
'erusahaan yang menda'atkan keuntungan terbesar dalam bisnis so$t*are
database.
!ySQL adalah sebuah server database SQL multiuser dan multi-
threaded. SQL sendiri adalah salah satu bahasa database yang 'aling
'o'uler di dunia. Im'lementasi 'rogram server database ini adalah 'rogram
daemon 1mys2ld1 dan bebera'a 'rogram lain serta bebera'a 'ustaka.
!ySQL dibuat oleh 3c4 dan telah di'ercaya mengelola sistem dengan 50
buah database berisi 60"000 tabel dan 700 di antaranya memiliki 7 juta
baris (kira-kira 600 gigabyte data). &atabase ini dibuat untuk ke'erluan
sistem database yang ce'at" handal dan mudah digunakan. 8alau'un
memiliki kemam'uan yang cuku' baik" !ySQL untuk sistem o'erasi 9ni%
bersi$at $ree*are" dan terda'at versi share*are untuk sistem o'erasi
*indo*s. !enurut 'embuatnya" !ySQL disebut se'erti :my-ess-2ue-ell:
dan bukan my-se2uel ;
M. Fatkhur Roji Modul MySQL 6
Sebagaimana database sistem yang lain" dalam SQL juga dikenal
hierarki server dengan database-database. 3ia'-tia' database memiliki
tabel-tabel. 3ia'-tia' tabel memiliki $ield-$ield.
9mumnya in$ormasi tersim'an dalam tabel ) tabel yang secara logik
meru'akan struktur < dimensi terdiri atas baris dan kolom.=ield-$ield
tersebut da'at beru'a data se'erti int " realm char" date" time dan lainnya.
SQL tidak memiliki $asilitas 'emrograman yang lengka'" tidak ada
loo'ing atau'un 'ercabangan "misalnya. Sehingga untuk menutu'i
kelemahan ini 'erlu digabung dengan bahasa 'emrograman semisal (.
&alam training ini kita menggunakan !ySQL sebgai SQL server
karena berbagai kelebihannya. ,ntara lain>
6. Source !ySQL da'at di'eroleh dengan mudah dan gratis
<. Sintaksnya lebih mudah di'ahami dan tidak rumit
?. @engaksesan database da'at dilakukan dengan mudah
Keunggulan MySQL
!ySQL meru'akan 'rogram yang multi-threaded" sehingga da'at
di'asang 'ada server yang memiliki multi-(@9.
&idukung 'rogram-'rogram umum se'erti (" (AA" Bava" @erl" @C@"
@ython" 3(L ,@Is dls.
ekerja 'ada berbagai 'lat$orm. (tersedia berbagai versi untuk
berbagai sistem o'erasi).
!emiliki jenis kolom yang cuku' banyak sehingga memudahkan
kon$igurasi sistem database.
!emiliki sistem sekuriti yang cuku' baik dengan veri$ikasi host.
!endukung #&( untuk sistem o'erasi !icroso$t 8indo*s.
!endukung record yang memiliki kolom dengan 'anjang teta' atau
'anjang bervariasi. dan masih banyak keunggulan lainnya (lihat
manual mys2lD?.<<)
!ySQL meru'akan so$t*are yang $ree" dan bisa di do*nload di
***.mys2l.com. Sedangkan so$t*are database lainnya se'erti
#+,(L- meru'akan so$t*are yang harus di beli.
!ySQL dan @C@ saling terintegrasi. !aksudnya adalah 'embuatan
database dengan menggunakan sintak @C@ da'at di buat. Sedangkan
M. Fatkhur Roji Modul MySQL <
in'ut yang di masukkan melalui a'likasi *eb yang menggunakan
scri't server-side se'erti @C@ da'at langsung dimasukkan ke database
!ySQL yang ada di server dan tentunya *eb tersebut berada di
sebuah *eb server.
Sistem Server Database MySQL
Sistem database !ySQL memiliki sistem sekuritas dengan tiga
veri$ikasi yaitu user(name)" 'ass*ord dan host. Eeri$ikasi host
memungkinkan untuk membuka sekuriti di 1localhost1" teta'i tertutu' bagi
host lain (bekerja di lokal kom'uter). Sistem sekuriti ini ada di dalam
database mys2l dan 'ada tabel user. @roteksi juga da'at dilakukan
terhada' database" tabel" hingga kolom secara ter'isah.
Reerensi
+e$erensi 'engetahuan tentang !ySQL secara umum telah
di'andang cuku' dari manual yang telah diberikan oleh 3c4
(mys2lD?.<<). ebera'a buku lain tengan database SQL banyak dijum'ai
dan da'at memberikan 'engetahuan tambahan tentang 'emrograman SQL.
,kses &atabases
@ada umumnya akses ke database melalui tiga taha'an" yaitu F
6. .oneksi ke database ('ersia'an)
< .QueryG'ermintaan data (o'erasi)
?. @emutusan koneksi
.oneksi ke database dilakukan menggunakan $ungsi-$ungsi
mysql_connect(), mysql_pconnect(), mysqlselect_db().
9ntuk lebih lanjutnya" kita akan membahasnya 'ada bagian modul
berikutnya.
!NSTALAS! DAN T!PE DATA
M. Fatkhur Roji Modul MySQL ?
!nstalasi MySQL
9ntuk bisa bekerja dengan so$t*are !ySQl" tentunya so$t*are
tersebut harus terinstal terlebih dahulu di kom'uter kita. 9ntuk
menda'atkan so$t*are tersebut kita da'at do*nload dari *ebsite resmi
!ySQL yaitu htt'FGG***.mys2l.com. &i *ebsite tersebut ada bebera'a
so$t*are !ySQL dari yang terlama sam'ai yang terbaru.
&alam modul ini kita akan menggunakan !ySQL versi mys2l-
?.<?.?<-*in. Setelah anda do*nload" $ile tersebut harus di ekstrak su'aya
kita da'at menginstalnya. Setelah di ekstrak maka kita install dengan
menekan $ile setup dua kali. Selanjutnya ikuti instruksi yang ada ketika
instalasi.
Setelah kita berhasil menginstal so$t*are tersebut" maka untuk
menjalankannya kita harus memulainya dari &os-@rom't. uka tam'ilan
&os-@rom't dari menu 'rogram 'ada tombol start. Bika kita meletakkan $ile
instalasi mys2l di direktori /cFHmys2l0 maka 'ada tam'ilan &os-@rom't
kita masuk ke directori tersebut. @erhatikan gambar di ba*ah ini F
&ari gambar di atas" maka da'at dijelaskan bah*a F
@ada baris 'ertama yaitu c:\windows\cd\
&engan di tulisnya cdH berarti kita 'indah ke directori asal yaitu /cFH0. ,da
juga sintak /cd..0 yang berarti bah*a kita naik ke $older yang di atas $older
sebelumnya.
.arena ketika kita menginstalnya di $older cFHmys2l maka kita
harus masuk ke mysql. 9ntuk mengkon$igurasinya maka kita harus masuk
M. Fatkhur Roji Modul MySQL 5
ke $older /bin dengan menuliskan 'ada tam'ilan &os-@rom't
/cFHmys2lHbin0
,gar modul mys2l berjalan dengan baik dan da'at terakses dengan
benar maka kita harus menjalankan mysqldump yang ada di $older bin
dengan sintak mysqld~2, juga kita harus menjalankan mysql-opt dengan
sintak mysqld~1.
,gar bisa !ySQL da'at berjalan dengan baik di mana so$t*are
tersebut terjaga dengan diberi 'ass*ord dan 'ass*ord tersebut terestriksi
dengan baik maka gunakan sintak F
Sintak mysqladmin reload meru'akan 'erintah untuk mengakti$kan mys2l
dan agar user dan 'ass*ordnya da'at akti$ dengan baik.
Sintak mysqladmin u root password sm!ti berarti nama user adalah root
dan 'ass*ord-nya adalah sm!ti.
Cal ini sangat berguna ketika kita ingi menghubungkan sintak @C@
dengan !ySQL karena untuk menghubungkannya kita membutuhkan nama
user yang memiliki database tertentu dengan 'ass*ord yang harus
ter'roteksi su'aya user lain tidak da'at melihat dan menggangu ini
database yang telah ada.
Langkah selanjutnya adalah F
M. Fatkhur Roji Modul MySQL 7
9ntuk bisa masuk kedalam system !ySQL maka kita harus menuliskan
sintak F
mysql u root p
!aka akan muncul kalimat enter password . @ass*ord yang kita masukkan
adalah 'ass*ord yang sudah kita nyatakan 'ada sintak sebelumnya yaitu
sm!ti.
Bika telah nam'ak sintak F
mysql"
mysql"
maka kita telah masuk kedalan system database !ySQL tersebut.
Ti"e Data
ebera'a jenis ti'e data dalam !ySQL memiliki ti'e tersendiri
dalam tia' $ield di table databasenya.
!ySQL mengenal bebera'a ty'e data $ield" yaitu F
6. 3i'e data numerik
3i'e data numerik da'at dibedakan menajdi dua kelom'ok" yaitu
ti'e data integer dan ti'e data $loating 'oint. 3i'e data integer
untuk data bilangan bulat sedangkan ti'e data $loating 'oint
digunakan untuk bilangan desimal.
M. Fatkhur Roji Modul MySQL I
3i'e data numeric da'at kita sajikan dalam table di ba*ah ini F
3i'e data .isaran nilai
3inyint (-6<J) ) 6<7 atau 0-<<7
Smallint (-?<7IJ) ) ?<7I7 atau 0 ) I77?7
!ediumint (-J?JJI0J)-J?JJI07 atau 0-6I777<67
Int (-<657IJ?I5J)-(<657IJ?I57) atau 0-5<K5KI7<K7
igint (-K<<??7<0?IJ75777J0J)-(K<<??7<0?IJ75777J07)
atau
0 - 6J55I75507?70K776I67
=loat(%) (-?.50<J<?5II-A?J)-(-6.6775K5?76--?J)"0"dan
6.6775K5?76--?J ) ?.50<J<?5II- A ?J
=loat Idem
&ouble (-6.7K7I-A?0J))(-<.<<--?0J)"0"dan(<.<<--?0J)-
(6.7K-A?0J)
esar kebutuhan memori 'enyim'anan untuk masin-masing ti'e data di
atas sebagai berikut F
#$lumn ty"e St$rage re%uired
3ILMIL3 6 byte
S!,LLIL3 < bytes
!-&I9!IL3 ? bytes
IL3 5 bytes
IL3-N-+ 5 bytes
INIL3 J bytes
=L#,3(5) 5 bytes
=L#,3(J) J bytes
=L#,3 5 bytes
&#9L- J bytes
&#9L- @+-(ISI#L J bytes
+-,L J bytes
&-(I!,L(!"&) ! bytes (&A<" i$ ! O &)
L9!-+I((!"&) ! bytes (&A<" i$ ! O &)
<. 3i'e data string
M. Fatkhur Roji Modul MySQL 7
Mang termasuk dalam ti'e data string adalah ti'e-ti'e data berikut F
3i'e kolom Kebutuhan mem$ri "enyim"anan
(C,+(!) ! bytes" 6 OP ! OP <77
E,+(C,+(!) LA6 bytes" *here L OP ! and 6 OP ! OP <77
3ILML#"
3ILM3-43
LA6 bytes" *here L O <QJ
L#" 3-43 LA< bytes" *here L O <Q6I
!-&I9!L#"
!-&I9!3-43
LA? bytes" *here L O <Q<5
L#LNL#"
L#LN3-43
LA5 bytes" *here L O <Q?<
-L9!(1value61"1valu
e<1"...)
6 or < bytes" de'ending on the number o$
enumeration values (I77?7 values ma%imum)
S-3(1value61"1value<1
"...)
6" <" ?" 5 or J bytes" de'ending on the number o$
set members (I5 members ma%imum)
?. 3i'e data *aktu
Mang termasuk dalam ti'e data tanggal dan *aktu adalah sebagai
berikut F
#$lumn ty"e St$rage re%uired
&,3-3I!- J bytes
&,3- ? bytes
3I!-S3,!@ 5 bytes
3I!- ? bytes
M-,+ 6 byte
3i'e data char() dan varchar() 'ada 'rinsi'nya sama. Mang menjadi
'erbedaannya adalah 'ada jumlah memori yang dibutuhkan untuk
'enyim'anan. !emori 'enyim'anan yang dibutuhkan ti'e data char()
bersi$at statis" besarnya tergantung 'ada bera'a jumlah karakter yang
diteta'kan 'ada saat $ield tersebut dideklarasikan. Sebaliknya" ti'e data
varchar() besar memori 'enyim'anan tergantung terhada' bera'a karakter
yang digunakan ditambah 6 byte yang berisi data jumlah karakter yang
digunakan.
S!NTAK DASAR MySQL
M. Fatkhur Roji Modul MySQL J
Pengantar Sinta& Dasar
!ySQL meru'akan bahasa 'emograman database di mana
'enulisan sintaknya tidak serumit bahasa 'emograman lainnya se'erti java"
(AA dan sebagainya. Satu hal yang 'erlu diingat bah*a setia' 'enulisan
scri't !ySQL di &os-@rom't harus selalu diakhiri dengan tanda titik koma
(>).
&i dalam source !ySQL yang telah terinstal secara de$ault telah
terisi sebuah database yang bernama mysql dan tes . 9ntuk da'at
menam'ilkan a'asaja nama database yang telah ada mau'un yang akan kita
buat" gunakan sintak F
#ysql" s$ow databases%
@erhatikan contoh di ba*ah ini F
(ontoh di atas menunjukkan 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%
@erhatikan gambar di ba*ah ini F
M. Fatkhur Roji Modul MySQL K
&engan mengetikkan sintak use mysql% dan keluar kalimat database change"
berarti kita telah masuk ke dalam database mys2l yang telah ada.
&i setia' database tentu ada terda'at bebera'a table yang menjadi
kom'onen dasar sebuah database. Sintak untuk menam'ilkan seluruh table
yang telah ada di dalam database mys2l adalah F
mysql"s$ow tables%
'erhatikan gambar di ba*ah F
&ari gambar di atas" kita da'at melihat bah*a di dalam database
mys2l sudah ada bebera'a table yang telah de$ault dari mys2l-nya sendiri.
&idalam database tersebut ada table columns_pri& (columns_pri&ile'e), db,
$ost, tables_pri&ile'e, dan user di mana tia' tablenya memiliki $ungsi
tertentu yang da'at diakses oleh tia' user. &atabase mys2l 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.
9ntuk bisa melihat isi seluruhnya dari salah satu table se'eti user"
maka gunakan sintak sebagai berikut F
M. Fatkhur Roji Modul MySQL 60
ms%l'sele(t)r$m user*
!aka akan tam'il suatu kolom-kolom dan baris-baris yang telah ada
se'erti gambar di ba*ah iniF
&ari gambar di atas akan terlihat kolom host" user dan 'ass*ord yang telah
terisi. Isi dalam kolom tersebut se'erti F
Cost 9ser @ass*ord
Localhost +oot 6$b7555I5cKbba75
Localhost meru'akan nama kom'uter kita sendiri a'abila kom'uter
tersebut kita jadikan server. Sedangkan root adalah nama user yang berhak
'enuh untuk mengatur database yang telah ada se'erti menambah user"
memberi $asilitas ke'ada user lain agar user lain da'at akses ke database
tersebut" bahkan juga root bisa membuat database baru yang da'at
digunakan ka'an'un. .olom 'ass*ord yang terisi oleh kombinasi kHangka
dan huru$ di atas yaitu 6$b7555I5cKbba75 meru'akan hasil 'ass*ord yang
telah terestriksi 'ada sintak terdahulu yaitu dengan menambahkan sintak
password di de'an kata 'ass*ord itu sendiri.
M. Fatkhur Roji Modul MySQL 66
Membuat Database +aru
Membuat database
9ntuk membuat sebuah database dengan nama R$ormulirS 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;
@erhatikan gambar di ba*ah ini F
Bika ada kalimat query o!, 1 row a((ected (),** sec) berarti kita telah
berhasil membuat sebuah database yang bernama (ormulir.
&an untuk mengha'usnya" gunakan sintak sebagai berikut F
mysql>drop database formulir;
@erhatikan gambar di ba*ah ini F
@ada kondisi di atas" a'abila kita lu'a meletakkan tanda titik koma (>) di
akhir kalimat maka 'ada baris setelahnya akan keluar tanda (-T). &i
sam'ing tanda tersebut harus kita beri tanda titik koma (>) agar da'at
berjalan dengan baik.
Membuat tabel
Setelah kita memasuki sebuah database" kita da'at mulai membuat
tabel ) tabel sesuai dengan ke'erluan kita. &alam database dikenal 'rimary
key" yaitu $ield yang menjadi acuan data terhada' $ield-$ield lainnya dan
'rimary key tidak boleh null.!isalkan nama tabelnya adalah RdataS" maka
sintaknya adalah F
M. Fatkhur Roji Modul MySQL 6<
mysql>create table data (field1 typefield1 not null , field2
typefield2, primary key (field1);
contoh F
create table data (nama char(67) not null" alamat char(<0)" 'rimary
key (nama))>
@erhatikan 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 kolom dan ti'e datanya. 3an'a membuat hal
tersebut maka kita belum bis membuat suatu table karena kolomnya belum
ada. &an juga untuk membuat suatu table yang baik maka harus disertai
dengan primary !ey sebagai kolom 'embeda dari kolom yang lainnya agar
user dalam mencari data tidak mengalami kesusahan dalam mencari data
yang diinginkan.
Mengisi tabel
Setelah tabel terbentuk" kita da'at memulai 'ekerjaan mengisi
database. Synta% yang digunakan adalah F
mysql>insert into data (field1,field2) values
(valuefield1,valuefield2);
contoh F
insert into data (nama" alamat) values (R$irdausS"S'ustenaS)>
'erhatikan contoh di ba*ah ini F
yang 'erlu di'erhatikan" untuk ty'e $ield char data yang dimasukkan harus
dia'it tanda 'etik R R" sedangkan untuk ti'e integer tidak.
9ntuk menam'ilkan isi dari im'ut yang barusan kita isi gunakan sintak F
mysql>select*from nama_table;
contoh F
selectU$rom data>
'erhatikan gambar di ba*ah F
M. Fatkhur Roji Modul MySQL 6?
3anda (U) meru'akan 'erintah untuk menam'ilkan seluruh kolom
beserta isinya. Bika kita ingin menam'ilkan hanya kolom nama saja" maka
sintaknya adalahF mysql>select field from nama_table;
contoh F
select nama $rom data>
@erhatikan gambar di ba*ah F
S!NTAK MySQL ,Lan-utan.
Editing Table
Mengubah isi tabel
9ntuk mengoreksi kesalahan data yang kita masukkan" atau
untuk mem'erbaharui value $ield yang lama da'at kita gunakan synta%
berikut>
mysql>update nama_table set fieldl=valuefieldbaru;
contoh F
u'date data set namaPSadnanS>
M. Fatkhur Roji Modul MySQL 65
maka hasilnya adalah seluruh value $ield dari $ield yang ditentukan
dari sintak di atas yang telah terisi mau'un yang belum terisi akan berubah
menjadi adnan" hal ini di sebabkan kita belum mengidenti$ikasi value $ield
mana saja yang harus berubah.
@erhatikan gambar di ba*ah F
.alimat error se'erti di atas menandakan kalau ada kesalah
'engisian. Sebelumnya kita harus mengetahui kondisi $ield ketika 'ertama
kali kita de$inisikan. .arena $ield nama meru'akan primary !ey dari table
tersebut maka tidak boleh value $ield-nya yang sama agar ketika user
mencari data" tidak ada isi data yang sama. Badi si$atnya harus unik. 9ntuk
itu kita harus mengu'date $ield selain $ield yang sudah kita de$inisikan
sebagai 'rimary key. =ield lainnya adalah alamat.
(ontohF
u'date data set alamatPSasramaS>
'erhatikan gambar di ba*ah F
M. Fatkhur Roji Modul MySQL 67
mem'erbaharui value $ield yang lama atau yang masih kosong tan'a harus
merubah seluruh value $ield dalam satu $iled da'at kita gunakan synta%
berikut>
mysql>updatenama_table set fieldl=ne!valuefield !"ere
field2=valuefield2;
contoh F
u'date data set alamatPS'ustenaS *here namaPSadnanS >
!aka yang berubah hanya isi kolom alamat dengan 'osisi sejajar dengan
value$ield ($irdaus) dari kolom nama.
@erhatikan gambar di ba*ah ini F

Mengha"us !si Table
9ntuk mengha'us value$ield 'ada suatu tabel da'at di'akai
synta%>
mysql>delete from nama_table !"ere field=valuefield;
contoh F
delete $rom data *here namaPSalikomeiniS>
Casilnya adalah seluruh value$ield yang satu baris dengan
value$ield yang kita de$inisikan untuk di ha'us akan terikut hilang.
@erhatikan gambar di ba*ah ini F
M. Fatkhur Roji Modul MySQL 6I
Bika kita ingin mengha'us value$ield tertentu saja tan'a harus
mengha'us value$ield lainnya maka gunakan sintak u'date se'erti di atas
namun 'ada bagian &alue(ieldbaru harus di kosongkan agar hasilnya nanti
tidak ada data yang masuk sebagai in'ut.
contoh F
u'date data set alamatPSS *here namaPSadnanS >
'erhatikan gambar di ba*ah F
Menambah/mengha"us/mengubah ield dari tabel
ila kita ingin memodi$ikasi $ield 'ada tabel da'at digunakan
synta%>
mysql>alter table nama_table add#drop field (typefield());
$ !enambah $ield dalam tabel" sintaknyaF
mysql>alter table nama_table add field typefield();
contohF
alter table data add tele'on int(60)>
@erhatikan contoh di ba*ah F
M. Fatkhur Roji Modul MySQL 67
@ada gambar di atas ada tulisan L9LL. 3ulisan ini muncul karena
ketika kita menulis sintaknya tidak kita sertai dengan kata not null
se'erti 'ada contoh di atas. .arena itu kata L9LL akan otomatis
muncul. 9ntuk menggantinya maka kita harus mengu'datenya
dengan sintak se'erti di atas.
- !enambah $ield dalam suatu table dengan mengatur 'osisi letak $ield"
sintaknya
mysql>alter table nama_table add field typefield() after field;
contoh F
alter table data add 'ekerjaan char(67) a$ter alamat>
@erhatikan gambar berikut F
- !engha'us $ield dalam tabel" sintaknya F
mysql>alter table nama_table drop field;
contoh F
alter table data dro' tele'on>
@erhatikan gambar berikut F
- !engganti nama dari $ield table
M. Fatkhur Roji Modul MySQL 6J
9ntuk mengganti 'enamaan judul $ield dari sebuah table gunakan
sintak F
mysql>alter table nama_table c"an%e name_field name_field_baru
typefield();
contoh F
alter table data change 'ekerjaan tele'on int(60)>
'erhatikan gambar berikut F
@erhatikan gambar tersebut. Sebelumnya kita telah mende$inisikan
ty'e$ield 'ekerjaan adalah /char0" teta'i dengan sintak di atas kita da'at
sekaligus mengganti ti'e$ield dari $ield yang ingin kita ganti namanya dan
juga kita da'at mem'erbesar atau mem'erkecil ukuran ti'e$ieldnya. ila
kita tidak ingin mengganti nama $ieldnya teta'i hanya ingin mem'erbesar
ukuran ty'e$ieldnya sama maka sintaknya sama saja 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 tabel
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 kondisi $ield tertentu semisal
$ield nama
mysql>select field1,field2 from nama_field;
contoh F
select nama" alamat $rom data>
M. Fatkhur Roji Modul MySQL 6K
!enam'ilkan isi tabel dengan bebera'a key*ord F
6. &istinct
.ey*ord ini berguna untuk menghilangkan record-record
yang sama.
Sintaknya F
mysql>select distinct field from nama_table ;
contoh F
select distinct nama $rom data>
<. et*een
.ey*ord ini berguna untuk membatasi suatu kolom yang
berada 'ada suatu batas nilai tertentu. !isalkan" buka tabel
user di database $ormulir" sintaknya F
mysql>select field1, field2 from nama_table !"ere field2
bet!een valuefield2 and valuefield2;
contoh F
select nama" umur $rom user *here tele'on bet*een
<700000 and <7?0000>
?. like
.ey*ord ini berguna untuk mencari data yang memiliki
'ola tertentu. !isalkan untuk mencari alamat user dengan
kata uni%" da'at digunakan 2uery F
mysql>select field from nama_table !"ere field like
&'value';
contoh F
select alamat $rom data *here alamat like RVcisituVS>
5. order by
.ey*ord ini berguna untuk menam'ilkan $ield sesuai
abjad. Sintak F
mysql>select * from nama_table order by field;
contoh F
selectU$rom data order by nama>
untuk urutan kebalikannya da'at digunakan>
mysql>select field1,field2 from data order by field1 desc;
9ntuk sintak-sintak di atas gunakan sam'le data se'erti yang ada di dalam
gambar berikutF
M. Fatkhur Roji Modul MySQL <0
AGREGATE 01N#T!2N DAN P3PMYADM!N
Agregate 0un(ti$n
Selain dari 'engolahan record-record" SQL juga menyediakan
$ungsi-$ungsi agregate dalam SQL adalah untuk menghitung hasil tam'ilan.
.arena ia si$atnya adalah untuk di tam'ilkan maka $ungsi tersebut
tergolong dalam bagian sintak select. ebera'a jenis $ungsinya antara lain
F
Lama $ungsi =ungsi
sum() !enghitung jumlah eks'resi numerik
avg() !enghitung rata-rata eks'resi numerik
min() !enghitung angka minimal eks'resi numerik
ma%() !enghitung angka maksimal eks'resi numerik
count() !enghitung jumlah non-null eks'resi
M. Fatkhur Roji Modul MySQL <6
count(U) !enghitung jumlah baris
9ntuk lebih jelas" 'erhatikan gambar berikut F
&ari table di atas" 'erhatikan 'ada kolom tele'on dan umur" karena
kedua kolom tersebut yang memiliki value aritmatika.
@erhatikan sintak dasar dari $unction aggregate di ba*ah ini F
mysql"select a''re'ate_(unction(nama_(ield) (rom nama_table%
contoh 6F
select sum(umur) $rom data>
@erhatikan hasilnya dalam gambar berikut F
&ari gambar di atas jelas bah*a $ungsi dari sum adalah
menjumlahkan seluruh data yang bersi$at arimatika.. Sedangkan kalau data
yang ada di dalam kolom tersebut tidak bersi$at arimatika (angka) maka
hasilnya adalah nol. Sedangkan bila dalam satu kolom terda'at berbagai
jenis data se'erti data angka mau'un data kataGkalimat maka data yang
terbaca adalah data aritmatika dan data non angka di angga' tidak ada atau
nol.
(ontoh <F
+elect a&'(umur) (rom data%
!aka hasilnya adalah F
M. Fatkhur Roji Modul MySQL <<
Seluruh data di jumlahkan kemudian di bagi dengan banyak data" sehingga
menghasilkan data se'erti di atas.
Sub Agregate Dengan Gr$u" +y
=ungsi Nrou' y adalah untuk menyatukan antara bebera'a $ield
dalam sebuah table di mana salah satu $ield atau lebih menggunakan
agregate $unction. !isalnya" jika kita ingin menam'ilkan nama dengan
rata-rata umur setia' 'elajar maka kita harus menggunakan sintak F
mysql"select (ield1, a''re'ate_(unction((ield2) (rom nama_table
order by (ield1%
contoh F
select alamat" avg(umur) $rom data grou' by alamat>
!aka hasilnya ada di gambar ba*ah ini F
Menyaring 3asil Agregate 0un(ti$n
9ntuk menyaring tam'ilan setelah dilakukan $ungsi agregate" maka
harus menggunakan key*ord $a&in'. !isalnya untuk menyaring 'elajar
dengan umur di ba*ah 6K tahun" maka sintaknya adalah F
M. Fatkhur Roji Modul MySQL <?
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%
contoh F
select alamat" avg (umur) $rom data grou' by alamat having avg(umur)
T<0>
!aka hasilnya adalah F
P3PMYADM!N
!nstalasi
@h'myadmin meru'akan so$t*are yang digunakan untuk
memudahkan bagi seseorang untuk membuat suatu database dengan ce'at
tan'a harus mengetik secara manual di &os-@rom't. So$t*are ini da'at di
do*nload di htt'FGG***.'h'*iWard.net.
Setelah di do*nload dan di ekstrak maka hasilnya letakkan di
$older di mana kita 'osisikan document +oot *eb server kita. @eletakan ini
akan kita 'elajari 'ada modul @C@ yang akan datang. Lamun sebelumnya
ada $ile yang 'erlu di edit" yaitu $ile yang bernama con(i'.inc.p$p,. &i
dalam $ile ini ada bebera'a kalimat yang harus di edit yaitu
@ada bagian user dan 'ass*ord. @ada kedua baris itu kita harus
menyamakannya dengan kondisi ketika kita 'ertama kali menginstal
!ySQL melalui &osD@rom't. Bika user-nya root maka tulis di bagian
tersebut root" dan jika 'ass*ord !ySQL-nya smkti maka letakkan kata
smkti di baris tersebut. 9ntuk lebih jelasnya lagi 'erhatikan gambar di
ba*ah ini F
M. Fatkhur Roji Modul MySQL <5
Setelah selesai mengeditnya kemudian muka *ebserver yang telah
ada yaitu a'ache kemudian buka bro*ser I- atau netsca'e" tulis di
addressnya dengan localhost" maka secara otomatis bro*ser akan membuka
directory document root yang telah kita buat sebelumnya. 9ntuk lebih
jelasnya lagi mengenai 'embuatan *eb server dengan a'ache dan
menjalankan server-side scri'ting yaitu @C@" akan kita bahas 'ada modul
berikutnya.
#ara Ker-a Ph"Myadmin
Setelah berhasil masuk kedalam localhost maka kita masuk
kedalam $older @h'!yadmin yang telah kita letakkan sebelumnya.
.emudian klik dua kali $ile inde-,p$p, yang digunakan untuk menjalankan
so$t*are tersebut. ,da cara lain tan'a harus mengklik $ile inde-.p$p, yaitu
mengedit $ile htt'd.con$ 'ada bagian /&irectory Inde%0 kita harus menulis
ekstention .p$p, atau .p$p agar ketika bro*ser membuka $older tersebut"
$ile tersebut otomatis terbuka tan'a harus mengklik $ile tersebut.
Setelah so$t*are tersebut bekerja maka akan tam'il bro*ser se'erti
gambar di ba*ah ini F
M. Fatkhur Roji Modul MySQL <7
@ada bro*ser tersebut tam'ak bebera'a bagian yang menyatakan
nama database yang telah kita buat sebelumnya dengan menggunakan &os-
@rom't yaitu di sebelah kiri gambar sedangkan di sebelah kanan tam'ak
suatu kolom yang di 'eruntukkan untuk membuat suatu database yang
baru. .alau 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 @h'myadmin akan memba*a
anda ke halaman lainnya yang beru'a tem'at editing database lengka'
dengan $ield dan value$ieldnya.
&alam modul ini kita akan membuat suatu database yang baru
dengan nama database registrasi. 9ntuk itu kita tinggal menuliskan kata
registrasi di klom yang telah tersedia kemudian klik button create.
!aka akan tam'il suatu tam'ilan sebagai berikut F
M. Fatkhur Roji Modul MySQL <I
@ada bagian 'aling ba*ah yaitu create new table, di ba*ahnya
terda'at $ield name dan $ields. .edua kolom tersebut adalah digunakan
ketika kita ingin membuat table baru di dalam database tersebut. !isalkan
nama tablenya adalah data dan banyak $ields-nya adalah 5" kemudian tekan
button /go0. !aka akan tam'ak tam'ilan sebagai berikut F
M. Fatkhur Roji Modul MySQL <7
@ada gambar di atas" banyak $ieldnya kurang lengka'" hal ini
karena keterbatasan kertas. 9ntuk lebih jelasnya lagi" anda da'at
melihatnya sendiri jika telah berhasil menjalankannya. &i dalam gambar
tersebut anda tinggal memasukkan nama $ield" ty'e$ield" besar ti'e$ieldnya
dan a'akah kita 'osisikan $ield tersebut sebagai 'rimary key atau tidak.
9ntuk kondisi 'rimary key di gambar atas tidak kelihatan. @osisinya ada di
sebelah 'aling kanan dari gambar.
Setelah semuanya di isi" maka tekan button save" maka anda akan
di tam'ilkan suatu halaman lainnya yaitu F
M. Fatkhur Roji Modul MySQL <J
@ada gambar di atas" tam'ak 'ada bagian di atas adalah sintak
SQL yang jika kita tulis di tam'ilan &osD@rom't akan sama hasilnya
yaitu akan menghasilkan suatu table dengan nama data dan nama
$ieldnya adalah nama, alamat, telepon, dan umur. @ada halaman ini
kita dengan mudah memasukkan data ke table yaitu dengan menekan
dua kali kata insert" maka kita akan di tam'ilkan suatu $ield-$ield
yang memiliki nama se'erti yang kita buat sebelumnya. 9ntuk
melihat seluruh hasil in'ut ke database" kita cuku' mengklik kata
bro*se" maka kita akan di tam'ilkan seluruh isi $ield yang telah ada.
M. Fatkhur Roji Modul MySQL <K

Anda mungkin juga menyukai