12 php mysql 2 study case

199
PHP + MYSQL (2) MySQL & SQL Language

Transcript of 12 php mysql 2 study case

Page 1: 12 php mysql 2   study case

PHP + MYSQL (2) MySQL & SQL Language

Page 2: 12 php mysql 2   study case

Toni Tegar Sahidi [email protected] STT STIKMA Internasional

Page 3: 12 php mysql 2   study case

slide ini & slide setelahnya akan menggunakan contoh

kasus Perpustakaan

Page 4: 12 php mysql 2   study case

Study Case

Page 5: 12 php mysql 2   study case
Page 6: 12 php mysql 2   study case

PHP & MYSQL #1 Setup MySQL #2 SQL #3 SELECT #4 INSERT

Page 7: 12 php mysql 2   study case

#1 Setup MySQL

1/6

Page 8: 12 php mysql 2   study case

Nyalakan Apache Web Server & MySQL Server

Page 9: 12 php mysql 2   study case

Buka PhpMyAdmin (buka browser, ketik http://localhost/phpmyadmin/)

Page 10: 12 php mysql 2   study case
Page 11: 12 php mysql 2   study case

Buat Database Baru

Page 12: 12 php mysql 2   study case

Klik ‘Databases’

Page 13: 12 php mysql 2   study case

Ketik Nama Database Yang ingin dibuat, Jika sudah, klik tombol Create

Page 14: 12 php mysql 2   study case

Akan muncul database yang baru saja dibuat

Page 15: 12 php mysql 2   study case

Klik nama Database Untuk mengelola Database tersebut

Page 16: 12 php mysql 2   study case

Ini adalah tampilan Manajemen Database Perpustakaan

Page 17: 12 php mysql 2   study case

Kolom sebelah kiri menunjukkan daftar Tabel dalam Database Perpustakaan

Page 18: 12 php mysql 2   study case

Saat ini masih belum ada satu tabel pun dalam Database Perpustakaan

Page 19: 12 php mysql 2   study case

Bikin Tabel Baru Yuk! Klik ‘Create Table’

Page 20: 12 php mysql 2   study case

Atau klik Structure

Page 21: 12 php mysql 2   study case

Isi name dengan nama Tabel, dan Number of Columns dengan jumlah Kolom. Jika sudah klik ‘Go’

Page 22: 12 php mysql 2   study case

Isi dengan Struktur Tabel Untuk masing-masing kolom

Page 23: 12 php mysql 2   study case
Page 24: 12 php mysql 2   study case

Pastikan bagian idbuku Seperti ini... Jika sudah, klik Save

Page 25: 12 php mysql 2   study case

Database, yang baru terbentuk

Page 26: 12 php mysql 2   study case

Klik Nama Tabel Untuk mengelola tabel tersebut

Page 27: 12 php mysql 2   study case

Mari menambahkan Beberapa Data Awal, Klik Insert

Page 28: 12 php mysql 2   study case
Page 29: 12 php mysql 2   study case

Klik Browse untuk melihat Isi tabel buku

Page 30: 12 php mysql 2   study case
Page 31: 12 php mysql 2   study case

Ulangi proses Insert Isi dengan data lain seperti ini

Page 32: 12 php mysql 2   study case

Cara Lain

Page 33: 12 php mysql 2   study case

Setelah membuat Database, Impor konten database

tersebut dari sebuah File

Page 34: 12 php mysql 2   study case

Database sudah terbentuk Tapi belum ada tabel

Page 35: 12 php mysql 2   study case

Klik Import

Page 36: 12 php mysql 2   study case

Pilih File database Untuk di import

Page 37: 12 php mysql 2   study case
Page 38: 12 php mysql 2   study case

Klik Go jika Sudah

Page 39: 12 php mysql 2   study case
Page 40: 12 php mysql 2   study case
Page 41: 12 php mysql 2   study case

Selanjutnya, kita akan bermain SQL Query

Page 42: 12 php mysql 2   study case

Pada PhpMyAdmin, SQL ditulis pada menu SQL

Page 43: 12 php mysql 2   study case

Klik SQL

Page 44: 12 php mysql 2   study case

Tempat kode SQL Query

Page 45: 12 php mysql 2   study case

#2 SQL

1/6

Page 46: 12 php mysql 2   study case

Structured Query Language

Page 47: 12 php mysql 2   study case

Bahasa yang dipakai oleh kebanyakan Relational DBMS

(termasuk MySQL) untuk Mengelola Database

Page 48: 12 php mysql 2   study case

Cakupan SQL

# Data Manipulation Language (DML)

# Data Definition Language (DDL)

# Triggers & Advance Integrity Constraint

# Embedded & Dynamic SQL

# Transaction Management

# Security

# Advanced Features

Page 49: 12 php mysql 2   study case

Data Manipulation Language

Cara melakukan Query

(mengambil) data, Insert, Delete,

dan Update

Page 50: 12 php mysql 2   study case

Data Definition Language

Pembuatan, Penghapusan, dan

Modifikasi Tabel & View

Page 51: 12 php mysql 2   study case

Di Slide ini kita belajar tentang bagaimana cara mendapatkan

(query) data

Page 52: 12 php mysql 2   study case

Dan Menambahkan Data

Page 53: 12 php mysql 2   study case

Mau Lebih?

Page 54: 12 php mysql 2   study case

Further references : http://www.w3schools.com/sql

Page 55: 12 php mysql 2   study case

#3 SQL SELECT

1/4

Page 56: 12 php mysql 2   study case

Berfungsi untuk mengambil data

Page 57: 12 php mysql 2   study case

Syntax : SELECT [DISTINCT] select-list FROM from-list WHERE qualification

Page 58: 12 php mysql 2   study case

Select-list

Nama kolom apa saja yang ingin

ditampilkan, isi dengan tanda

bintang untuk menampilkan semua

kolom

Page 59: 12 php mysql 2   study case

from-list

Tabel dan view asal data yang ingin

kita pakai

Page 60: 12 php mysql 2   study case

qualification

Membatasi data yang ingin

diseleksi (semisal data mahasiswa

yang umurnya diatas 24 tahun)

Page 61: 12 php mysql 2   study case

contoh..

Page 62: 12 php mysql 2   study case

Query 1

Menampilkan Semua isi tabel Buku

Page 63: 12 php mysql 2   study case

Query 1

SELECT

*

FROM

perpustakaan.buku;

Page 64: 12 php mysql 2   study case
Page 65: 12 php mysql 2   study case

Query 2

Menampilkan isi dari kolom judul dan

penulis dari tabel buku.

Page 66: 12 php mysql 2   study case

Query 2

SELECT

judul,penulis

FROM

perpustakaan.buku;

Page 67: 12 php mysql 2   study case
Page 68: 12 php mysql 2   study case

Query 3

Menampilkan isi kolom penulis dan penerbit

dari tabel buku

Page 69: 12 php mysql 2   study case

Query 3

SELECT

penulis, penerbit

FROM

perpustakaan.buku;

Page 70: 12 php mysql 2   study case
Page 71: 12 php mysql 2   study case

Multiset Rows (duplikasi dari record

yang berbeda)

Page 72: 12 php mysql 2   study case

Multiset Rows (duplikasi dari record

yang berbeda)

Page 73: 12 php mysql 2   study case

BUKAN Multiset Rows

Karena isi kolom kedua beda

Page 74: 12 php mysql 2   study case

pakai DISTINCT untuk menghindari duplikasi

tampilan data

Page 75: 12 php mysql 2   study case

Query 4

SELECT DISTINCT

penulis, penerbit

FROM

perpustakaan.buku;

Page 76: 12 php mysql 2   study case
Page 77: 12 php mysql 2   study case

BUKAN Multiset Rows

Karena isi kolom kedua beda

Page 78: 12 php mysql 2   study case

BUKAN Multiset Rows

Karena isi kolom kedua beda

Page 79: 12 php mysql 2   study case

Query 5

Menampilkan daftar semua penulis buku

Page 80: 12 php mysql 2   study case

Query 5

SELECT DISTINCT

penulis

FROM

perpustakaan.buku;

Page 81: 12 php mysql 2   study case
Page 82: 12 php mysql 2   study case

dimanakah WHERE?

Page 83: 12 php mysql 2   study case

Query 6

Menampilkan semua buku yang terbit di

tahun 2007

Page 84: 12 php mysql 2   study case

Query 6

SELECT

*

FROM

perpustakaan.buku

WHERE

buku.tahunterbit=2007;

Page 85: 12 php mysql 2   study case
Page 86: 12 php mysql 2   study case

Query 7

Menampilkan semua buku yang jumlah

koleksinya lebih dari sama dengan 5.

Page 87: 12 php mysql 2   study case

Query 7

SELECT

*

FROM

perpustakaan.buku

WHERE

buku.jumlahkoleksi>=5;

Page 88: 12 php mysql 2   study case
Page 89: 12 php mysql 2   study case

Query 8

Menampilkan semua buku yang nama

penulisnya memiliki kata “AN”

Page 90: 12 php mysql 2   study case

Query 8

SELECT

*

FROM

perpustakaan.buku

WHERE

buku.penulis LIKE „%AN%‟;

Page 91: 12 php mysql 2   study case
Page 92: 12 php mysql 2   study case

Jadi?

Page 93: 12 php mysql 2   study case

Select-list memilih apa saja yang ditampillkan,

Page 94: 12 php mysql 2   study case

SELECT * .... SELECT penulis, penerbit ... SELECT judul, tahunterbit ... SELECT judul, max(jumlahkoleksi) ...

Page 95: 12 php mysql 2   study case

from-list memilih dari tabel mana data akan ditampilkan

Page 96: 12 php mysql 2   study case

... FROM perpustakaan.buku ....

... FROM perpustakaan.anggota ....

... FROM bank.nasabah, bank.rekening ....

Page 97: 12 php mysql 2   study case

DISTINCT bersifat opsional, jika ia dipakai, query yang

ditampilkan akan tidak mengandung duplikasi

Page 98: 12 php mysql 2   study case

Tanpa Distinct & dengan Distinct

Page 99: 12 php mysql 2   study case

nilai setelah WHERE bersifat boolean (benar / salah)

Page 100: 12 php mysql 2   study case

Klausa WHERE bisa menggunakan Operator

Page 101: 12 php mysql 2   study case

Operator Description

= Equal

<> Not equal

> Greater than

< Less than

>= Greater than or equal

<= Less than or equal

BETWEEN Between an inclusive range

LIKE Search for a pattern

IN To specify multiple possible values for a column

Page 102: 12 php mysql 2   study case

WHERE hanya menampilkan data yang dalam klausanya

bernilai benar.

Page 103: 12 php mysql 2   study case

... WHERE buku.tahunterbit = 2007 ...

... WHERE buku.jumlahkoleksi >= 5 ...

... WHERE buku.penulis LIKE ‘%AN%’ ...

... WHERE TRUE ...

... WHERE nilai > 50 AND sks>90 ...

Page 104: 12 php mysql 2   study case

Lanjut!

Page 105: 12 php mysql 2   study case

ORDER BY

Page 106: 12 php mysql 2   study case

ORDER BY mengurutkan sesuai kolom

Page 107: 12 php mysql 2   study case

... WHERE qualification ORDER BY order-list [ASC|DESC]

Page 108: 12 php mysql 2   study case

Query 9

Menampilkan judul, penulis, penerbit sesuai

urutan tahun

Page 109: 12 php mysql 2   study case

Query 9

SELECT

judul, penulis, tahunterbit

FROM

perpustakaan.buku

ORDER BY

tahunterbit;

Page 110: 12 php mysql 2   study case
Page 111: 12 php mysql 2   study case

jika urutannya diBALIK

Page 112: 12 php mysql 2   study case

Query 10

Menampilkan judul, penulis, penerbit sesuai

urutan tahun

Page 113: 12 php mysql 2   study case

Query 10

SELECT

judul, penulis, tahunterbit

FROM

perpustakaan.buku

ORDER BY

tahunterbit DESC;

Page 114: 12 php mysql 2   study case
Page 115: 12 php mysql 2   study case

AGGREGATE OPERATOR

Page 116: 12 php mysql 2   study case

AGGREGATE OPERATOR min,max,count,avg,sum

Page 117: 12 php mysql 2   study case

Query 11

Menampilkan total jumlah koleksi buku.

Page 118: 12 php mysql 2   study case

Query 11

SELECT

SUM(jumlahkoleksi)

FROM

perpustakaan.buku;

Page 119: 12 php mysql 2   study case
Page 120: 12 php mysql 2   study case

Query 12

Menampilkan jumlah judul buku yang

dimiliki perpustakaa.

Page 121: 12 php mysql 2   study case

Query 12

SELECT

COUNT(jumlahkoleksi)

FROM

perpustakaan.buku;

Page 122: 12 php mysql 2   study case
Page 123: 12 php mysql 2   study case

Anda dapat menggunakan Operator LOGIKA dalam Where

(AND, OR, XOR, NOT)

Page 124: 12 php mysql 2   study case

Query 13

Menampilkan buku yang ditulis Hepi Andi

Bustomi yang diterbitkan oleh Qalam

Press.

Page 125: 12 php mysql 2   study case

Query 13

Menampilkan buku yang ditulis Hepi Andi

Bustomi yang diterbitkan oleh Qalam

Press.

Analisis :

- Selain Hepi Andi tidak boleh tampil

- Dari bukunya Hepi Andi, hanya terbitan

Qalam Press yang tampil

Page 126: 12 php mysql 2   study case

Query 13

SELECT judul,penulis,penerbit

FROM perpustakaan.buku

WHERE

penulis = „HEPI ANDI BUSTOMI

AND

Penerbit = „QALAM PRESS‟;

Page 127: 12 php mysql 2   study case
Page 128: 12 php mysql 2   study case

adakalanya request manusia, dan implementasi bahasa SQL

sedikit berbeda.

Page 129: 12 php mysql 2   study case

Lakukan ANALISIS!

Page 130: 12 php mysql 2   study case

Query 14

Menampilkan buku yang diterbitkan oleh

Republika dan Tarbawi Press

Page 131: 12 php mysql 2   study case

Query 14

Menampilkan buku yang diterbitkan oleh

Republika dan Tarbawi Press

ANALISIS :

# jika penerbit = republika -> tampilkan

# jika penerbit = tarbawi -> juga tampilkan

# selain dua diatas, abaikan

# meskipun request diatas pakai kata „dan‟

namun implementasi sbenarnya pakai „or‟

Page 132: 12 php mysql 2   study case

Query 14

SELECT judul,penulis,penerbit

FROM perpustakaan.buku

WHERE

penerbit = 'TARBAWI PRESS'

OR

penerbit = 'REPUBLIKA';

Page 133: 12 php mysql 2   study case
Page 134: 12 php mysql 2   study case

Anda bisa gunakan operator logika untuk menampilkan

nilai-nilai ‘diantara’

Page 135: 12 php mysql 2   study case

contoh:

Page 136: 12 php mysql 2   study case

Query 15

Tampilkan buku yang terbit antara tahun

2007 dan 2010

Page 137: 12 php mysql 2   study case

Query 15

Tampilkan buku yang terbit antara tahun

2007 dan 2010

ANALISIS :

# tampilkan buku dimana tahun>= 2007

DAN

# tampilkan buku dimana tahun<= 2010

Page 138: 12 php mysql 2   study case

Query 15

SELECT judul,penulis,penerbit, tahunterbit

FROM perpustakaan.buku

WHERE

tahunterbit >= 2007

AND

tahunterbit <= 2010

ORDER BY tahunterbit;

Page 139: 12 php mysql 2   study case
Page 140: 12 php mysql 2   study case

Selain cara diatas, Anda dapat menggunakan ... WHERE ...

BETWEEN ... AND ...

Page 141: 12 php mysql 2   study case

Query 15b

SELECT judul,penulis,penerbit, tahunterbit

FROM perpustakaan.buku

WHERE

tahunterbit

BETWEEN

2007 AND 2010

ORDER BY tahunterbit;

Page 142: 12 php mysql 2   study case
Page 143: 12 php mysql 2   study case

Alias

1/4

Page 144: 12 php mysql 2   study case

anda bisa memberikan sebuah kolom atau tabel, nama ALIAS untuk digunakan / ditampilkan

Page 145: 12 php mysql 2   study case

... namaAsli AS namaAlias ...

Page 146: 12 php mysql 2   study case

Alias tidak mengubah struktur tabel

*nama kolom/tabel aslinya tetap, tidak berubah, hanya hasil query saja

Page 147: 12 php mysql 2   study case

contoh..

Page 148: 12 php mysql 2   study case

TANPA Alias

Page 149: 12 php mysql 2   study case

Query 16

Menampilkan judul & penulis dari buku

Page 150: 12 php mysql 2   study case

Query 16

SELECT

buku.judul, buku.penulis

FROM

perpustakaan.buku;

Page 151: 12 php mysql 2   study case
Page 152: 12 php mysql 2   study case

DENGAN Alias untuk NAMA TABEL

Page 153: 12 php mysql 2   study case

Alias NAMA TABEL hanya untuk mempermudah

penulisan query...

Page 154: 12 php mysql 2   study case

Query 16b

Menampilkan judul & penulis dari buku

(Alias untuk Nama Tabel)

Page 155: 12 php mysql 2   study case

Query 16b

SELECT

b.judul, b.penulis

FROM

perpustakaan.buku AS b;

Page 156: 12 php mysql 2   study case
Page 157: 12 php mysql 2   study case

hasil query 16b sama dengan

query 16

Page 158: 12 php mysql 2   study case

TIPS : gunakan Alias nama Tabel Pada query yang kompleks dengan nama-nama yang

panjang

Page 159: 12 php mysql 2   study case

DENGAN Alias untuk NAMA KOLOM

Page 160: 12 php mysql 2   study case

Alias NAMA KOLOM mengganti nama kolom

yang ditampilkan

Page 161: 12 php mysql 2   study case

Query 17

Menampilkan judul & penulis dari buku

Pada header kolom, kata judul diganti „Judul

Buku‟, dan kata penulis diganti jadi

pengarang.

Page 162: 12 php mysql 2   study case

Query 17

SELECT

buku.judul AS 'Judul Buku',

buku.penulis AS PENGARANG

FROM

perpustakaan.buku;

Page 163: 12 php mysql 2   study case
Page 164: 12 php mysql 2   study case
Page 165: 12 php mysql 2   study case

GROUP BY

1/4

Page 166: 12 php mysql 2   study case

masih ingat Aggregate Function?

Page 167: 12 php mysql 2   study case

masih ingat Aggregate Function?

(sum, count, max, min, avg)

Page 168: 12 php mysql 2   study case

contoh

Page 169: 12 php mysql 2   study case

Query 18

Menghitung judul buku (count) yang ada di

perpustakaan.

Page 170: 12 php mysql 2   study case

Query 18

SELECT

COUNT(judul) AS 'jumlah judul'

FROM

perpustakaan.buku;

Page 171: 12 php mysql 2   study case
Page 172: 12 php mysql 2   study case

semisal kita ingin mengelompokkan jumlah judul

tersebut berdasarkan pengarangnya

Page 173: 12 php mysql 2   study case

Gunakan GROUP BY

Page 174: 12 php mysql 2   study case

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name

Page 175: 12 php mysql 2   study case

Query 19

Menghitung judul buku (count) yang ada di

perpustakaan, dan kelompokkan

berdasarkan Penulisnya.

Page 176: 12 php mysql 2   study case

Query 19

SELECT

penulis,

COUNT(judul) AS 'jumlah judul'

FROM

perpustakaan.buku

GROUP BY

penulis;

Page 177: 12 php mysql 2   study case
Page 178: 12 php mysql 2   study case

HAVING

1/4

Page 179: 12 php mysql 2   study case

masih tetap Aggregate Function

Page 180: 12 php mysql 2   study case

Anda tidak dapat menggunakan Aggregate Function didalam

Where ‘secara langsung’

Page 181: 12 php mysql 2   study case

contoh

Page 182: 12 php mysql 2   study case

Query 20

tampilkan penulis yang total jumlah

koleksinya lebih dari sama dengan 5

Page 183: 12 php mysql 2   study case

Query 20

SELECT

penulis, SUM(jumlahkoleksi)

FROM

perpustakaan.buku

GROUP BY

penulis

WHERE

SUM(jumlahkoleksi) >= 5;

Page 184: 12 php mysql 2   study case

Query 20

SELECT

penulis, SUM(jumlahkoleksi)

FROM

perpustakaan.buku

GROUP BY

penulis

WHERE

SUM(jumlahkoleksi) >= 5;

Page 185: 12 php mysql 2   study case

TIPS : gunakan : HAVING

Page 186: 12 php mysql 2   study case

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value

Page 187: 12 php mysql 2   study case

Query 20

tampilkan penulis yang total jumlah

koleksinya lebih dari sama dengan 5

Page 188: 12 php mysql 2   study case

Query 20

SELECT

penulis, SUM(jumlahkoleksi)

FROM

perpustakaan.buku

GROUP BY

penulis

HAVING SUM(jumlahkoleksi) > 5;

Page 189: 12 php mysql 2   study case
Page 190: 12 php mysql 2   study case

#4 INSERT

1/4

Page 191: 12 php mysql 2   study case

SELECT hanya mengambil data

Page 192: 12 php mysql 2   study case

Gunakan INSERT untuk MENAMBAHKAN DATA

Page 193: 12 php mysql 2   study case

INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)

Page 194: 12 php mysql 2   study case

Query 21

INSERT INTO `perpustakaan`.`buku` (

`idbuku` ,

`judul` ,

`penulis` ,

`penerbit` ,

`tahunterbit` ,

`jumlahkoleksi`

)

VALUES (

NULL , 'DALANG', 'TONI TEGAR SAHIDI', 'REPUBLIKA',

'2014', '6„ );

Page 195: 12 php mysql 2   study case
Page 196: 12 php mysql 2   study case

Further references : http://www.slideshare.net/ tonitegarsahidi1/newsfeed

Page 197: 12 php mysql 2   study case

Further references : http://www.ilmukomputer.org

Page 198: 12 php mysql 2   study case

Further references : http://www.w3schools.com

Page 199: 12 php mysql 2   study case

next session

PHP + MySQL