ptik - mysql
DESCRIPTION
ProgrammingTRANSCRIPT
![Page 1: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/1.jpg)
TUGAS MATA KULIAH
PENGANTAR TEKNOLOGI INFORMASI
DAN KOMUNUKASI
“MySQL”
DISUSUN OLEH :
MOCHAMAD YUSUF AL GHAZALI (NIM. 1514905)
FAKULTAS TEKNIK INDUSTRI
JURUSAN TEKNIK KIMIA
INSTITUT TEKNOLOGI NASIONAL
2015
![Page 2: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/2.jpg)
PERINTAH DASAR MYSQL
Untuk melakukan perintah query SQL di php dibutuhkan
fungsi mysql_query($sql) untuk menerjemahkan proses query ke MySQL dari PHP. Adapun
fungsi lain yang banyak digunakan di PHP adalah mysql_num_rows($query) yang berfungsi
untuk menghitung jumlah baris hasil query
dan mysql_fetch_array($query) atau mysql_fetch_object($query). mysql_fetch_array dan
mysql_fetch_object memiliki fungsi yang sama, yakni mengambil hasil query SQL agar
dapat diolah dan dibaca oleh PHP. Adapun perbedaannya adalah jenis hasil outputnya, kalau
mysql_fetch_array outputnya berupa array dengan nama field sebagai key array nnya.
Adapun mysql_fetch_object outputnya berupa object, namun yang saya pakai disini adalah
yang array.
SELECT & SELECT*
SELECT adalah perintah untuk memanggil data yang ada didalam sebuah tabel.
Adapun syntaxnya adalah sebagai berikut
SELECT *|field1,field2,field3,... from nama_tabel [kondisi]
NB: simbol artesik/bintang (*) sama artinya memanggil semua field tanpa terkecuali. Untuk
pemanggilan field-field tertentu saja dapat langsung disebutkan nama fieldnya
Dari syntax di atas, kita asumsikan bahwa kita mempunyai sebuah tabel siswa dengan
kolom-kolom: NIS,Nama,Gender,Kelas dengan data kira-kira seperti berikut
No NIS Nama Gender Kelas
1 030411021 Aat Surahat P X-1
2 030411092 Beno Sudrajat L X-2
3 030411047 Cepi Rohmat L X-1
4 030411017 Novi Andaresi P X-3
5 030411025 Niar Wahyuni P X-3
Jika kita ingin mengambil semua data yang ada di tabel siswa tanpa terkecuali,
gunakan perintah seperti berikut.
1. <?php
2. mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
3. mysql_select_db("test") or die("Tidak bisa membuka database");
![Page 3: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/3.jpg)
4.
5. echo "<table border=1>
6. <tr>
7. <th>NIS</th>
8. <th>>Nama</th>
9. <th>Gender</th>
10. <th>Kelas</th>
11. </tr>";
12. $sql = mysql_query("SELECT * from siswa");
13. while($data = mysql_fetch_array($sql)){
14. echo "<tr>
15. <th>$data[NIS]</th>
16. <th>>$data[Nama]</th>
17. <th>$data[Gender]</th>
18. <th>$data[Kelas]</th>
19. </tr>";
20. }
21. echo "</table>";
22. ?>
Dengan perintah di atas, maka semua data akan dipanggil (dipanggil semua baris), adapun
field yang ditampilkan adalah tergantung keperluan (pada contoh di atas field dipanggil
semua)
Yang berikutnya adalah cara mengambil beberapa data saja.
1. <?php
2. mysql_connect("localhost", "root", "") or die("Gagal koneksi...");
3. mysql_select_db("test") or die("Tidak bisa membuka database");
4.
5. echo "<table border=1>
6. <tr>
7. <th>NIS</th>
8. <th>>Nama</th>
9. <th>Gender</th>
10. <th>Kelas</th>
11. </tr>";
![Page 4: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/4.jpg)
12. $sql = mysql_query("SELECT * from siswa where Kelas='X-3'");
13. while($data = mysql_fetch_array($sql)){
14. echo "<tr>
15. <th>$data[NIS]</th>
16. <th>>$data[Nama]</th>
17. <th>$data[Gender]</th>
18. <th>$data[Kelas]</th>
19. </tr>";
20. }
21. echo "</table>";
22. ?>
Jika dilihat di browser, maka outputnya di browser adalah seperti di bawah ini.
NIS Nama Gender Kelas
030411017 Novi Andaresi P X-3
030411025 Niar Wahyuni P X-3
Jika kita melihat script di atas, ada yang saya garis bawahi, yakni where kelas='X-3'.
Apakah fungsinya? Di dalam query SQL, khususnya di MySQL where adalah suatu cara
mempersempit data yang ditampilkan dengan memberikan kondisi seperti halnya if di PHP.
Adapun syntaxnya secara umum adalah sebagai berikut.
SELECT ... where field<kondisi><nilai yang dibandingkan>
Keterangan:
field: nama field yang akan dicari kondisi nilainya
kondisi: kondisi perbandingan yang bisa diisi dengan sama dengan (=), kurang dari (<), lebih
dari (>), kurang dari atau sama dengan (<=), lebih dari atau sama dengan (>=) dan tidak sama
dengan (!=)
nilai yang dibandingkan: yakni nilai dari perbandingan yang disesuaikan dengan kondisi
Perlu diperhatikan, bahwa jika field yang ditampilkan dikondisikan perbandingan
angka maka nilai yang dibandingkan ini boleh tidak pakai petik, namun jika yang
dibandingkan adalah sebuah string atau data tanggal, maka diharuskan menyertakan petik
pada nilainya. Perhatikan contoh berikut ini.
1. <?php
2. mysql_query("SELECT * from siswa where kelas='X-3'"); // nilai field kelas adalah
string
![Page 5: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/5.jpg)
3. mysql_query("SELECT * from laporan_penjualan where qty_barang>5") // nilai field
qty_barang adalah numerik
4. ?>
INSERT
INSERT adalah perintah untuk melakukan input data kedalam tabel. Syntax dasar
insert dapat dilihat seperti di bawah ini:
INSERT into namaTabel(field1,field2,field3,...) VALUES('nilai 1','nilai 2','nilai 3',...)
Ketika kita melakukan insert data ke MySQL inputannya harus diperhatikkan dan
perlu diparsing (difilter) untuk menjaga keamanan data. Istilah yang dikenal dari proses SQL
query secara paksa (hack) adalah mysql inject. Sebagai contoh, kita tidak bisa meng-insert
data yang mengandung petik satu ke dalam tabel tanpa difilter. Untuk memfilter data yang
diinput (inputan ketikan bebas oleh user via input text atau textarea) adalah menggunakan
fungsi mysql_real_escape_string($string). Dengan demikian data yang diinput menjadi aman
dan terhindar dar injeksi.
Lihat contoh berikut.
1. <?php
2. $nis = $_POST['nis'];
3. $nama = mysql_real_escape_string($_POST['nama']);
4. $gender = $_POST['gender'];
5. $kelas = $_POST['kelas'];
6. mysql_query("INSERT into siswa(NIS,Nama,Gender,Kelas)
VALUES('$nis','$nama','$gender','$kelas')");
7. ?>
UPDATE
Berbeda halnya dengan SELECT, query update ini bekerja di balik layar dan tidak
menampilkan hasil apapun karena update bukanlah perintah tetapi merupakan proses. Untuk
syntax update ini dapat dilihat di bawah ini
UPDATE namaTabel set field1='nilai baru field1', field2='nilai baru field2', field3='nilai baru
field3',... [kondisi where]
Keterangan: field1,field2, field3, dst: nama field yang ingiin diupdate nilainya (disesuaikan
dengan nama field pada tabel) kondisi where: sifatnya optional, namun bila tanpa kondisi
semua data akan diupdate.
![Page 6: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/6.jpg)
Perhatikan contoh berikut.
1. <?php
2. mysql_query("UPDATE siswa set kelas='XI-BAHASA' where NIS='13141159");
3. mysql_query("UPDATE siswa set kelas='XI-BAHASA'");
4. ?>
Query pertama adalah query yang benar, dimana data yang NIS-nya 13141159 akan diubah
data kelasnya menjadi XI-BAHASA. Adapun query kedua adalah query yang fatal salahnya,
kenapa? bila query tersebut dijalankan maka seluruh data di tabel siswa kelasnya akan
menjadi 'XI-BAHASA' meskipun datanya 2000 data siswa. Jadi, kembali saya
ingatkan, harap berhati-hati dengan query UPDATE. Kasus ini masih saja terjadi, mungkin
akibat kurang jeli dalam mengecek, atau terlalu terburu-buru atau penyebab lainnya. Yang
pasti UPDATE tanpa where adalah merubah semua data yang ada di tabel tersebut.
DELETE
Untuk query DELETE ini kasusnya sama dengan UPDATE, namun yang
membedakan adalah fungsinya. DELETE pada query MySQL berfungsi untuk menghapus
data (satu baris atau lebih) jika where yang diberikan adalah spesifik, dan tentu akan
menghapus semua data di tabel jika tidak ditambahkan where. Syntax DELETE ini adalah
seperti berikut
DELETE from namaTabel [kondisi where]
Perhatikan contoh berikut.
1. <?php
2. mysql_query("DELETE from siswa where NIS='13141159");
3. mysql_query("DELETE from siswa where kelas='XI-BAHASA'");
4. mysql_query("DELETE from siswa");
5. ?>
Query pertama akan menghapus data yang NIS-nya 13141159 saja (1 baris), adapun untuk
query kedua adalah menghapus semua data yang kelasnya adalah XI-BAHASA (beberapa
baris data siswa). Sedangkan query ketiga akan menghapus semua data siswa (tabel jadi
kosong)
![Page 7: Ptik - Mysql](https://reader036.vdokumen.com/reader036/viewer/2022082614/5695d44b1a28ab9b02a0f999/html5/thumbnails/7.jpg)
DAFTAR PUSTAKA
1. http://www.arijulianto.com/tutorial/php/perintah-dasar-mysql.php