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 d ase 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 multithreaded. 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

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
< Modul MySQL

M. Fatkhur Roji

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. Re erensi +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 5 Modul MySQL

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

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 I Modul MySQL

3i'e data numeric da'at kita sajikan dalam table di ba*ah ini F 3i'e data 3inyint Smallint !ediumint Int igint =loat(%) =loat &ouble .isaran nilai (-6<J) ) 6<7 atau 0-<<7 (-?<7IJ) ) ?<7I7 atau 0 ) I77?7 (-J?JJI0J)-J?JJI07 atau 0-6I777<67 (-<657IJ?I5J)-(<657IJ?I57) atau 0-5<K5KI7<K7 (-K<<??7<0?IJ75777J0J)-(K<<??7<0?IJ75777J07) atau 0 - 6J55I75507?70K776I67 (-?.50<J<?5II-A?J)-(-6.6775K5?76--?J)"0"dan 6.6775K5?76--?J ) ?.50<J<?5II- A ?J Idem (-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 3ILMIL3 S!,LLIL3 !-&I9!IL3 IL3 IL3-N-+ INIL3 =L#,3(5) =L#,3(J) =L#,3 &#9 L&#9 L- @+-(ISI#L +-,L &-(I!,L(!"&) L9!-+I((!"&) <. 3i'e data string
M. Fatkhur Roji 7 Modul MySQL

St$rage re%uired 6 byte < bytes ? bytes 5 bytes 5 bytes J bytes 5 bytes J bytes 5 bytes J bytes J bytes J bytes ! bytes (&A<" i$ ! O &) ! bytes (&A<" i$ ! O &)

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 3ILM L# " LA6 bytes" *here L O <QJ 3ILM3-43 L# " 3-43 LA< bytes" *here L O <Q6I !-&I9! L# " LA? bytes" *here L O <Q<5 !-&I9!3-43 L#LN L# " LA5 bytes" *here L O <Q?< L#LN3-43 -L9!(1value61"1valu 6 or < bytes" de'ending on the number o$ e<1"...) 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 &,3-3I!&,33I!-S3,!@ 3I!M-,+ St$rage re%uired J bytes ? bytes 5 bytes ? bytes 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 J Modul MySQL

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

&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 60 Modul MySQL

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 Localhost 9ser +oot @ass*ord 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

66

Modul MySQL

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 6< Modul MySQL

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 6? Modul MySQL

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 65 Modul MySQL

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

67

Modul MySQL

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

6I

Modul MySQL

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

67

Modul MySQL

@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 6J Modul MySQL

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 6K Modul MySQL

!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

<0

Modul MySQL

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 <6 Modul MySQL

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

<5

Modul MySQL

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 <7 Modul MySQL

@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

<I

Modul MySQL

@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

<7

Modul MySQL

@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

<J

Modul MySQL

@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

<K

Modul MySQL

Anda mungkin juga menyukai