ptik - mysql

9
TUGAS MATA KULIAH PENGANTAR TEKNOLOGI INFORMASI DAN KOMUNUKASI “MySQL” DISUSUN OLEH : MOCHAMAD YUSUF AL GHAZALI (NIM. 1514905) FAKULTAS TEKNIK INDUSTRI

Upload: mochamad-yusuf-al-ghazali

Post on 02-Feb-2016

215 views

Category:

Documents


0 download

DESCRIPTION

Programming

TRANSCRIPT

Page 1: Ptik - Mysql

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

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

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

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

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

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

DAFTAR PUSTAKA

1. http://www.arijulianto.com/tutorial/php/perintah-dasar-mysql.php