12 php mysql 2 study case
-
Author
toni-tegar-sahidi -
Category
Education
-
view
150 -
download
1
Embed Size (px)
Transcript of 12 php mysql 2 study case
-
PHP + MYSQL (2) MySQL & SQL Language
-
Toni Tegar Sahidi [email protected] STT STIKMA Internasional
-
slide ini & slide setelahnya akan menggunakan contoh
kasus Perpustakaan
-
Study Case
-
PHP & MYSQL #1 Setup MySQL #2 SQL #3 SELECT #4 INSERT
-
#1 Setup MySQL
1/6
-
Nyalakan Apache Web Server & MySQL Server
-
Buka PhpMyAdmin (buka browser, ketik http://localhost/phpmyadmin/)
-
Buat Database Baru
-
Klik Databases
-
Ketik Nama Database Yang ingin dibuat, Jika sudah, klik tombol Create
-
Akan muncul database yang baru saja dibuat
-
Klik nama Database Untuk mengelola Database tersebut
-
Ini adalah tampilan Manajemen Database Perpustakaan
-
Kolom sebelah kiri menunjukkan daftar Tabel dalam Database Perpustakaan
-
Saat ini masih belum ada satu tabel pun dalam Database Perpustakaan
-
Bikin Tabel Baru Yuk! Klik Create Table
-
Atau klik Structure
-
Isi name dengan nama Tabel, dan Number of Columns dengan jumlah Kolom. Jika sudah klik Go
-
Isi dengan Struktur Tabel Untuk masing-masing kolom
-
Pastikan bagian idbuku Seperti ini... Jika sudah, klik Save
-
Database, yang baru terbentuk
-
Klik Nama Tabel Untuk mengelola tabel tersebut
-
Mari menambahkan Beberapa Data Awal, Klik Insert
-
Klik Browse untuk melihat Isi tabel buku
-
Ulangi proses Insert Isi dengan data lain seperti ini
-
Cara Lain
-
Setelah membuat Database, Impor konten database
tersebut dari sebuah File
-
Database sudah terbentuk Tapi belum ada tabel
-
Klik Import
-
Pilih File database Untuk di import
-
Klik Go jika Sudah
-
Selanjutnya, kita akan bermain SQL Query
-
Pada PhpMyAdmin, SQL ditulis pada menu SQL
-
Klik SQL
-
Tempat kode SQL Query
-
#2 SQL
1/6
-
Structured Query Language
-
Bahasa yang dipakai oleh kebanyakan Relational DBMS
(termasuk MySQL) untuk Mengelola Database
-
Cakupan SQL
# Data Manipulation Language (DML)
# Data Definition Language (DDL)
# Triggers & Advance Integrity Constraint
# Embedded & Dynamic SQL
# Transaction Management
# Security
# Advanced Features
-
Data Manipulation Language
Cara melakukan Query
(mengambil) data, Insert, Delete,
dan Update
-
Data Definition Language
Pembuatan, Penghapusan, dan
Modifikasi Tabel & View
-
Di Slide ini kita belajar tentang bagaimana cara mendapatkan
(query) data
-
Dan Menambahkan Data
-
Mau Lebih?
-
Further references : http://www.w3schools.com/sql
-
#3 SQL SELECT
1/4
-
Berfungsi untuk mengambil data
-
Syntax : SELECT [DISTINCT] select-list FROM from-list WHERE qualification
-
Select-list
Nama kolom apa saja yang ingin
ditampilkan, isi dengan tanda
bintang untuk menampilkan semua
kolom
-
from-list
Tabel dan view asal data yang ingin
kita pakai
-
qualification
Membatasi data yang ingin
diseleksi (semisal data mahasiswa
yang umurnya diatas 24 tahun)
-
contoh..
-
Query 1
Menampilkan Semua isi tabel Buku
-
Query 1
SELECT
*
FROM
perpustakaan.buku;
-
Query 2
Menampilkan isi dari kolom judul dan
penulis dari tabel buku.
-
Query 2
SELECT
judul,penulis
FROM
perpustakaan.buku;
-
Query 3
Menampilkan isi kolom penulis dan penerbit
dari tabel buku
-
Query 3
SELECT
penulis, penerbit
FROM
perpustakaan.buku;
-
Multiset Rows (duplikasi dari record
yang berbeda)
-
Multiset Rows (duplikasi dari record
yang berbeda)
-
BUKAN Multiset Rows
Karena isi kolom kedua beda
-
pakai DISTINCT untuk menghindari duplikasi
tampilan data
-
Query 4
SELECT DISTINCT
penulis, penerbit
FROM
perpustakaan.buku;
-
BUKAN Multiset Rows
Karena isi kolom kedua beda
-
BUKAN Multiset Rows
Karena isi kolom kedua beda
-
Query 5
Menampilkan daftar semua penulis buku
-
Query 5
SELECT DISTINCT
penulis
FROM
perpustakaan.buku;
-
dimanakah WHERE?
-
Query 6
Menampilkan semua buku yang terbit di
tahun 2007
-
Query 6
SELECT
*
FROM
perpustakaan.buku
WHERE
buku.tahunterbit=2007;
-
Query 7
Menampilkan semua buku yang jumlah
koleksinya lebih dari sama dengan 5.
-
Query 7
SELECT
*
FROM
perpustakaan.buku
WHERE
buku.jumlahkoleksi>=5;
-
Query 8
Menampilkan semua buku yang nama
penulisnya memiliki kata AN
-
Query 8
SELECT
*
FROM
perpustakaan.buku
WHERE
buku.penulis LIKE %AN%;
-
Jadi?
-
Select-list memilih apa saja yang ditampillkan,
-
SELECT * .... SELECT penulis, penerbit ... SELECT judul, tahunterbit ... SELECT judul, max(jumlahkoleksi) ...
-
from-list memilih dari tabel mana data akan ditampilkan
-
... FROM perpustakaan.buku ....
... FROM perpustakaan.anggota ....
... FROM bank.nasabah, bank.rekening ....
-
DISTINCT bersifat opsional, jika ia dipakai, query yang
ditampilkan akan tidak mengandung duplikasi
-
Tanpa Distinct & dengan Distinct
-
nilai setelah WHERE bersifat boolean (benar / salah)
-
Klausa WHERE bisa menggunakan Operator
-
Operator Description
= Equal
Not equal
> Greater than
< Less than
>= Greater than or equal
-
WHERE hanya menampilkan data yang dalam klausanya
bernilai benar.
-
... WHERE buku.tahunterbit = 2007 ...
... WHERE buku.jumlahkoleksi >= 5 ...
... WHERE buku.penulis LIKE %AN% ...
... WHERE TRUE ...
... WHERE nilai > 50 AND sks>90 ...
-
Lanjut!
-
ORDER BY
-
ORDER BY mengurutkan sesuai kolom
-
... WHERE qualification ORDER BY order-list [ASC|DESC]
-
Query 9
Menampilkan judul, penulis, penerbit sesuai
urutan tahun
-
Query 9
SELECT
judul, penulis, tahunterbit
FROM
perpustakaan.buku
ORDER BY
tahunterbit;
-
jika urutannya diBALIK
-
Query 10
Menampilkan judul, penulis, penerbit sesuai
urutan tahun
-
Query 10
SELECT
judul, penulis, tahunterbit
FROM
perpustakaan.buku
ORDER BY
tahunterbit DESC;
-
AGGREGATE OPERATOR
-
AGGREGATE OPERATOR min,max,count,avg,sum
-
Query 11
Menampilkan total jumlah koleksi buku.
-
Query 11
SELECT
SUM(jumlahkoleksi)
FROM
perpustakaan.buku;
-
Query 12
Menampilkan jumlah judul buku yang
dimiliki perpustakaa.
-
Query 12
SELECT
COUNT(jumlahkoleksi)
FROM
perpustakaan.buku;
-
Anda dapat menggunakan Operator LOGIKA dalam Where
(AND, OR, XOR, NOT)
-
Query 13
Menampilkan buku yang ditulis Hepi Andi
Bustomi yang diterbitkan oleh Qalam
Press.
-
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
-
Query 13
SELECT judul,penulis,penerbit
FROM perpustakaan.buku
WHERE
penulis = HEPI ANDI BUSTOMI
AND
Penerbit = QALAM PRESS;
-
adakalanya request manusia, dan implementasi bahasa SQL
sedikit berbeda.
-
Lakukan ANALISIS!
-
Query 14
Menampilkan buku yang diterbitkan oleh
Republika dan Tarbawi Press
-
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
-
Query 14
SELECT judul,penulis,penerbit
FROM perpustakaan.buku
WHERE
penerbit = 'TARBAWI PRESS'
OR
penerbit = 'REPUBLIKA';
-
Anda bisa gunakan operator logika untuk menampilkan
nilai-nilai diantara
-
contoh:
-
Query 15
Tampilkan buku yang terbit antara tahun
2007 dan 2010
-
Query 15
Tampilkan buku yang terbit antara tahun
2007 dan 2010
ANALISIS :
# tampilkan buku dimana tahun>= 2007
DAN
# tampilkan buku dimana tahun
-
Query 15
SELECT judul,penulis,penerbit, tahunterbit
FROM perpustakaan.buku
WHERE
tahunterbit >= 2007
AND
tahunterbit
-
Selain cara diatas, Anda dapat menggunakan ... WHERE ...
BETWEEN ... AND ...
-
Query 15b
SELECT judul,penulis,penerbit, tahunterbit
FROM perpustakaan.buku
WHERE
tahunterbit
BETWEEN
2007 AND 2010
ORDER BY tahunterbit;
-
Alias
1/4
-
anda bisa memberikan sebuah kolom atau tabel, nama ALIAS untuk digunakan / ditampilkan
-
... namaAsli AS namaAlias ...
-
Alias tidak mengubah struktur tabel
*nama kolom/tabel aslinya tetap, tidak berubah, hanya hasil query saja
-
contoh..
-
TANPA Alias
-
Query 16
Menampilkan judul & penulis dari buku
-
Query 16
SELECT
buku.judul, buku.penulis
FROM
perpustakaan.buku;
-
DENGAN Alias untuk NAMA TABEL
-
Alias NAMA TABEL hanya untuk mempermudah
penulisan query...
-
Query 16b
Menampilkan judul & penulis dari buku
(Alias untuk Nama Tabel)
-
Query 16b
SELECT
b.judul, b.penulis
FROM
perpustakaan.buku AS b;
-
hasil query 16b sama dengan
query 16
-
TIPS : gunakan Alias nama Tabel Pada query yang kompleks dengan nama-nama yang
panjang
-
DENGAN Alias untuk NAMA KOLOM
-
Alias NAMA KOLOM mengganti nama kolom
yang ditampilkan
-
Query 17
Menampilkan judul & penulis dari buku
Pada header kolom, kata judul diganti Judul
Buku, dan kata penulis diganti jadi
pengarang.
-
Query 17
SELECT
buku.judul AS 'Judul Buku',
buku.penulis AS PENGARANG
FROM
perpustakaan.buku;
-
GROUP BY
1/4
-
masih ingat Aggregate Function?
-
masih ingat Aggregate Function?
(sum, count, max, min, avg)
-
contoh
-
Query 18
Menghitung judul buku (count) yang ada di
perpustakaan.
-
Query 18
SELECT
COUNT(judul) AS 'jumlah judul'
FROM
perpustakaan.buku;
-
semisal kita ingin mengelompokkan jumlah judul
tersebut berdasarkan pengarangnya
-
Gunakan GROUP BY
-
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
-
Query 19
Menghitung judul buku (count) yang ada di
perpustakaan, dan kelompokkan
berdasarkan Penulisnya.
-
Query 19
SELECT
penulis,
COUNT(judul) AS 'jumlah judul'
FROM
perpustakaan.buku
GROUP BY
penulis;
-
HAVING
1/4
-
masih tetap Aggregate Function
-
Anda tidak dapat menggunakan Aggregate Function didalam
Where secara langsung
-
contoh
-
Query 20
tampilkan penulis yang total jumlah
koleksinya lebih dari sama dengan 5
-
Query 20
SELECT
penulis, SUM(jumlahkoleksi)
FROM
perpustakaan.buku
GROUP BY
penulis
WHERE
SUM(jumlahkoleksi) >= 5;
-
Query 20
SELECT
penulis, SUM(jumlahkoleksi)
FROM
perpustakaan.buku
GROUP BY
penulis
WHERE
SUM(jumlahkoleksi) >= 5;
-
TIPS : gunakan : HAVING
-
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
-
Query 20
tampilkan penulis yang total jumlah
koleksinya lebih dari sama dengan 5
-
Query 20
SELECT
penulis, SUM(jumlahkoleksi)
FROM
perpustakaan.buku
GROUP BY
penulis
HAVING SUM(jumlahkoleksi) > 5;
-
#4 INSERT
1/4
-
SELECT hanya mengambil data
-
Gunakan INSERT untuk MENAMBAHKAN DATA
-
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
-
Query 21
INSERT INTO `perpustakaan`.`buku` (
`idbuku` ,
`judul` ,
`penulis` ,
`penerbit` ,
`tahunterbit` ,
`jumlahkoleksi`
)
VALUES (
NULL , 'DALANG', 'TONI TEGAR SAHIDI', 'REPUBLIKA',
'2014', '6 );
-
Further references : http://www.slideshare.net/ tonitegarsahidi1/newsfeed
-
Further references : http://www.ilmukomputer.org
-
Further references : http://www.w3schools.com
-
next session
PHP + MySQL