Anda di halaman 1dari 28
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata
Pemrograman Basis Data Berbasis Web Pertemuan Ke-10 (Server Basisdata MySQL dan Koneksi PHP ke Basisdata

Pemrograman Basis Data Berbasis Web

Pertemuan Ke-10

(Server Basisdata MySQL dan Koneksi PHP ke Basisdata MySQL)

Noor Ifada

n o o r . i f a d a @ i f . t r u n o j o y o . a c . i d

Sub Pokok Bahasan MySQL? Tipe data field Operator SQL Koneksi ke server Perintah Create Perintah

Sub Pokok Bahasan

MySQL?Sub Pokok Bahasan Tipe data field Operator SQL Koneksi ke server Perintah Create Perintah Insert Perintah

Tipe data field field

Operator SQLSub Pokok Bahasan MySQL? Tipe data field Koneksi ke server Perintah Create Perintah Insert Perintah Select

Koneksi ke server server

Perintah Create Create

Perintah Insert Insert

Perintah Select Select

Mengubah struktur tabelserver Perintah Create Perintah Insert Perintah Select Update data Menghapus ( Delete ) data Predikat

Update data data

Menghapus (Delete ) data Delete) data

Predikatstruktur tabel Update data Menghapus ( Delete ) data Fungsi-fungsi MySQL Urutan operasi-operasi data menggunakan

Fungsi-fungsi MySQLtabel Update data Menghapus ( Delete ) data Predikat Urutan operasi-operasi data menggunakan PHP Mengelola MySQL

Urutan operasi-operasi data menggunakan PHPdata Menghapus ( Delete ) data Predikat Fungsi-fungsi MySQL Mengelola MySQL dengan PHPMyAdmin S1 Teknik Informatika

Mengelola MySQL dengan PHPMyAdminDelete ) data Predikat Fungsi-fungsi MySQL Urutan operasi-operasi data menggunakan PHP S1 Teknik Informatika - Unijoyo

MySQL?  MySQL termasuk di dalam jenis RDBMS ( Relational Database Management System ). 

MySQL?

MySQL termasuk di dalam jenis RDBMS (Relational Database Management System).

Suatu basis data (database) memiliki satu atau beberapa tabel. Tabel terdiri dari sejumlah baris dan kolom.

Pada umumnya, di dalam konteks bahasa SQL, informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom (column atau field).

Tipe data field  Tipe data Numerik TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BGINT, FLOAT(x), FLOAT,

Tipe data field

Tipe data Numerik

TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BGINT, FLOAT(x), FLOAT, DOUBLE, DOUBLE PRECISION, REAL, DECIMAL(M,D), NUMERIC(M,D)

Tipe data String

CHAR, VARCHAR, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM(‘elemen1’, ‘elemen2’, …), SET(elemen1’, ‘elemen2’, …)

Tipe data char() dan varchar()

Tipe data Tanggal

DATETIME, DATE, TIMESTAMP, TIME, YEAR

Operator SQL  Operator matematika + − * / %  Operator range < >

Operator SQL

Operator matematika

+

*

/

%

Operator range

<

>

<=

>=

Operator kesamaan

=

<>

Operator logika

&&

||

Koneksi ke Server  MySQL mempunyai tool koneksi bernama mysql yang bentuk penggunaannya adalah: mysql

Koneksi ke Server

MySQL mempunyai tool koneksi bernama mysql yang bentuk penggunaannya adalah:

mysql –h nama_server –u nama_user –D nama_database –p

(password dimasukkan saat prompt password ditampilkan)

Contoh:

mysql –h localhost –u root –D db_tennis

Perintah CREATE Sintaks: create DATABASE nama; atau create TABLE nama; Contoh:  create database :

Perintah CREATE

Sintaks:

create DATABASE nama; atau create TABLE nama;

Contoh:

create database:

create DATABASE db_academic;

create tabel:

create TABLE student

(

StudentNo SMALLINT(6) NOT NULL PRIMARY KEY, Name CHAR(20),

Birth_Date DATE, Sex char(1),

Address

VARCHAR(3),

PhoneNo VARCHAR(12) );

Perintah INSERT Sintaks: insert INTO NAMA_TABEL (kolom1, kolom2, kolom3, values ('nilai1','

Perintah INSERT

Sintaks:

insert INTO NAMA_TABEL (kolom1, kolom2, kolom3,

values ('nilai1',' nilai2',' nilai3',

Contoh :

);

)

insert INTO STUDENT (StudentNo, Name, Birth_Date, Sex, Address, PhoneNo) values (1111,”Setia Budi”,”1985-06-25”,”M”,”Jl.Kutai 33, Sby”,”031-3459097”);

insert INTO STUDENT values (1112,”Dewi Sekartaji”,”1985-10-01”,”F”,”Jl. Mangga 2, Sby”,”031-6749331”), (1113,”Adinda Cendrakasih”,”1986-01-10”,”M”,”Jl. Ketintang 45C, Sby”,”031-

8291190”);

Perintah SELECT Sintaks: select kolom1, kolom2, kolom3, [ Contoh: select * FROM STUDENT; ] FROM

Perintah SELECT

Sintaks:

select kolom1, kolom2, kolom3, [

Contoh:

select * FROM STUDENT;

]

FROM NAMA_TABEL;

[ Contoh: select * FROM STUDENT; ] FROM NAMA_TABEL ; select StudentNo, Name FROM STUDENT; S1

select StudentNo, Name FROM STUDENT;

select * FROM STUDENT; ] FROM NAMA_TABEL ; select StudentNo, Name FROM STUDENT; S1 Teknik Informatika
Perintah SELECT … [lanjutan]  Select banyak tabel  mengambil data dari banyak tabel sekaligus

Perintah SELECT … [lanjutan]

Select banyak tabel

mengambil data dari banyak tabel sekaligus

Sintaks:

select TABEL1.tabel_kolom1, TABEL1.tabel_kolom2, TABEL2.tabel_kolom1, TABEL2.tabel_kolom2 FROM TABEL1, TABEL2; (tanda titik diperlukan sebagai penghubung antara nama tabel dan nama kolom)

Order by

mengurutkan (ascending atau descending) record hasil query berdasarkan suatu kolom.

Sintaks:

select kolom1, kolom2, […] FROM NAMA_TABEL ORDER BY nama_kolom;

Where

menentukan kondisi atau persyaratan dari query

Sintaks:

select kolom1, kolom2, […] FROM NAMA_TABEL WHERE persyaratan; Suatu pernyataan kondisional mempunyai bagian sisi kiri yang merupakan kolom tabel dan bagian sisi kanan kondisi yang dijadikan syarat pencarian. Contoh persyaratan:

WHERE nama_kolom = kondisi;

Mengubah Struktur Tabel Sintaks: alter TABLE NAMA_TABEL ADD/DROP NAMA_KOLOM ; alter TABLE NAMA_TABEL CHANGE

Mengubah Struktur Tabel

Sintaks:

alter TABLE NAMA_TABEL ADD/DROP NAMA_KOLOM; alter TABLE NAMA_TABEL CHANGE KOLOM_PERINTAH; alter TABLE NAMA_TABEL RENAME NAMA_TABEL_BARU;

Contoh:

Menambahkan sebuah kolom baru (Hobi) ke dalam tabel STUDENT:

alter TABLE STUDENT ADD Hobi;

Menghapus kolom:

alter TABLE STUDENT DROP Hobi;

Mengganti nama tabel:

alter TABLE STUDENT RENAME STUDENTS;

UPDATE Data Sintaks: update NAMA_TABEL SET kolom1=“nilai”, kolom2=“nilai”, kolom3=“nilai” WHERE

UPDATE Data

Sintaks:

update NAMA_TABEL SET kolom1=“nilai”, kolom2=“nilai”, kolom3=“nilai” WHERE kolom_kunci = “nilai”;

Contoh:

Mengubah nilai kolom Name untuk STUDENT dengan StudentNo = 1111.

UPDATE STUDENT SET Name = “Setiawan Budi” WHERE StudentNo = '1111';

Menghapus ( DELETE ) Data Sintaks: delete FROM NAMA_TABEL WHERE persyaratan ; Contoh:  Menghapus

Menghapus (DELETE) Data

Sintaks:

delete FROM NAMA_TABEL WHERE persyaratan;

Contoh:

Menghapus record pada tabel STUDENT yang field StudentNo-nya bernilai 1114 :

delete FROM STUDENT WHERE StudentNo=1114;

TRUNCATE  untuk membersihkan tabel secara keseluruhan (sama seperti DELETE tanpa kondisi), yaitu dengan cepat

TRUNCATE

untuk membersihkan tabel secara keseluruhan (sama seperti DELETE tanpa kondisi), yaitu dengan cepat menghapus semua record tanpa menghapus struktur tabel.

Sintaks:

truncate TABEL NAMA_TABEL;

Contoh:

Menghapus semua record dalam tabel STUDENT:

truncate TABLE STUDENT;

Predikat Predikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string , karakter

Predikat

Predikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu.

1. LIKE dan NOT LIKE

2. BETWEEN

3. LIMIT

4. INNER JOIN

5. LEFT JOIN

6. RIGHT JOIN

7. UNION

8. UNION ALL

9. Sub-Query

1.

LIKE dan NOT LIKE

1. LIKE dan NOT LIKE  LIKE  untuk mendapatkan record yang memenuhi sebagian kriteria pencarian

LIKE untuk mendapatkan record yang memenuhi sebagian kriteria pencarian yaitu mencari data yang menyerupai atau seperti.

Perintah LIKE sering dikombinasikan dengan tanda “persen” (%) dan “underscore” (_). “Persen” digunakan di awal atau akhir teks kriteria sedangkan “underscore” dimanapun diinginkan.

Sintaks dasar dari SELECT yang melibatkan LIKE adalah

select kolom1, kolom2, […] FROM NAMA_TABEL WHERE kolom_tabel LIKE %string%;

NOT LIKE merupakan lawan dari LIKE. Semua data yang masuk kriteria LIKE secara otomatis tidak masuk kriteria NOT LIKE.

2. BETWEEN

digunakan untuk menyeleksi nilai-nilai yang berada dalam kisaran (range), misalnya menampilkan “student” yang mempunyai IPK antara 3,00 sampai 3,50.

Sintaks perintah SELECT dengan BETWEEN adalah

select kolom1, kolom2, […] FROM NAMA_TABEL WHERE nama_kolom BETWEEN nilai1 and nilai2;

3. LIMIT

memungkinkan pembatasan jumlah record yang diambil dari database.

Sintaks:

select kolom1, kolom2, […] FROM NAMA_TABEL LIMIT jumlah_limit;

1. INNER JOIN  JOIN digunakan bersama SELECT untuk mengkombinasikan kolom dari satu tabel dengan

1. INNER JOIN

JOIN digunakan bersama SELECT untuk mengkombinasikan kolom dari satu tabel dengan kolom pada tabel lain. Proses utama yang dilakukan oleh JOIN adalah mencocokkan nilai pada field kunci pada kedua tabel

INNER JOIN mengembalikan semua baris sebagai hasil yang memenuhi suatu kondisi

2. LEFT JOIN

Suatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional bahkan jika tidak ada sisi kanan yang memenuhi sekalipun

3. RIGHT JOIN

Suatu RIGHT JOIN akan menampilkan baris-baris sisi kanan kondisional yang memenuhi atau tidak memenuhi kondisi.

1.

UNION

1. UNION  untuk menggabung dua tabel, menempatkan dua query terpisah secara bersama membentuk satu tabel

untuk menggabung dua tabel, menempatkan dua query terpisah secara bersama membentuk satu tabel

UNION akan memberikan hasil terbaik saat menggunakan dua tabel dengan kolom serupa karena setiap kolom harus mempunyai tipe data sama

Sintaks dasar:

select kolom1, kolom2 FROM NAMA_TABEL UNION select kolom1, kolom2 FROM NAMA_TABEL;

3. UNION ALL

memilih semua baris dari setiap tabel dan mengkombinasikannya ke dalam satu tabel

Perbedaan antara UNION dan UNION ALL yaitu UNION ALL tidak akan menghapus (mengeliminir) baris-baris yang sama (duplicate rows) – hanya mengambil semua baris dari semua tabel sesuai query yang dikirim ke server database

4. Sub-Query

adalah query SELECT yang ditempatkan di dalam suatu pernyataan SQL lain.

dapat diletakkan sebagai bagian dari query utama : SELECT, INSERT, UPDATE, DELETE, SET, DO

Sintaks:

select kolom1, kolom2, kolom3 […] FROM NAMA_TABEL WHERE kolom_tabel = (select kolom1, kolom2, kolom3 […] FROM NAME_TABEL_LAIN);

Fungsi-fungsi MySQL  mysql_connect()  Untuk melakukan koneksi ke server basis data ( database )

Fungsi-fungsi MySQL

mysql_connect()

Untuk melakukan koneksi ke server basis data (database) MySQL

Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi mysql_close()

Akan menghasilkan nilai true jika koneksi berhasil, dan nilai false jika gagal

Sintaks: mysql_connect(nama_host,nama_user,password);

mysql_pconnect()

Fungsinya sama dengan mysql_connect, akan tetapi koneksi tidak akan terputus meskipun script program telah selesai dieksekusi seluruhnya

mysql_create_db()

Untuk membuat sebuah database

Sintaks: mysql_create_db(“nama_database”);

 mysql_select_db()  Untuk memilih atau mengaktifkan database  mysql_query()  Untuk menjalankan query yang

mysql_select_db()

Untuk memilih atau mengaktifkan database

mysql_query()

Untuk menjalankan query yang terdapat di MySQL

mysql_db_query()

Untuk menjalankan suatu permintaan terhadapt database

mysql_fetch_row()

Menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil

Mengambil data secara baris per baris

Data yang diambil dalam bentuk array (elemen dari array adalah field- field dari tabel data)

mysql_fetch_array()

Fungsinya sama seperti mysql_fetch_array, akan tetapi hasil yang diperoleh dalam bentuk array assosiatif

Urutan operasi-operasi data menggunakan PHP 1. Membuat koneksi ke database 2. Mendeklarasikan suatu variabel string

Urutan operasi-operasi data menggunakan PHP

1. Membuat koneksi ke database

2. Mendeklarasikan suatu variabel string yang berisi sintaks perintah MySQL yang akan dilakukan

3. Melaksanakan sintaks MySQL menggunakan fungsi untuk menghasilkan output yang akan ditampilkan. Hasil ditampung di dalam variabel yang telah dideklarasikan sebelumnya.

4. Mengambil hasil dari sintaks MySQL yang dilaksanakan dengan menggunakan fungsi-fungsi mysql_fetch_row(), mysql_fetch_array(), mysql_num_rows(), dan lain-lain (bergantung pada format output yang diinginkan).

Keterangan:

Contoh penggunaan operasi-operasi tersebut akan dijelaskan lebih detail di dalam pembahasan yang ada pada handout berikutnya.

Mengelola MySQL dengan PHPMyAdmin  PHPMyAdmin dibuat khusus untuk mengelola database MySQL  Aplikasi ini

Mengelola MySQL dengan PHPMyAdmin

PHPMyAdmin dibuat khusus untuk mengelola database MySQL

Aplikasi ini free dan dapat di-download di mysql.com, sourceforge.net dan situs web lain yang berhubungan dengan PHP dan MySQL. Bahkan, dengan menginstal PHPTriad, maka secara otomatis Apache, MySQL, PHP dan PHPTriad juga telah terinstal

Untuk membuka aplikasi PHPMyAdmin, harus menjalankan terlebih dahulu server web Apache, dan server database MySQL, sebelum membuka aplikasi PHPMyAdmin

PHPMyAdmin dapat diakses melalui alamat http://localhost/PHPMyAdmin (jika PHPMyAdmin terinstal di komputer yang sedang digunakan) atau alamat http://nama_komputer_atau_ip_address/PHPMyAdmin (jika terinstal pada komputer lain)

Tampilan awal PHPMyAdmin S1 Teknik Informatika - Unijoyo 23

Tampilan awal PHPMyAdmin

Tampilan awal PHPMyAdmin S1 Teknik Informatika - Unijoyo 23
PHPMyAdmin – Membuat Database  Langkah-langkah membuat database: 1. Di halaman awal PHPMyAdmin, masukkan nama

PHPMyAdmin – Membuat Database

Langkah-langkah membuat database:

1. Di halaman awal PHPMyAdmin, masukkan nama database, misalnya db_company pada isian Create new database

2. Klik tombol Create

Jika berhasil, akan terdapat keterangan sebagai berikut:

Database db_company has been created. No tables found in database.

PHPMyAdmin – Pembuatan Tabel  Langkah-langkah pembuatan tabel: 1. Pada menu HOME, pilih nama database

PHPMyAdmin – Pembuatan Tabel

Langkah-langkah pembuatan tabel:

1. Pada menu HOME, pilih nama database yang akan ditambahkan tabel di dalamnya. Misalkan nama database adalah db_company.

di dalamnya. Misalkan nama database adalah db_company. 2. Pada bagian Create new table on database db_company,

2. Pada bagian Create new table on database db_company, masukkan nama tabel, misalnya EMPLOYEE dan jumlah field (kolom)-nya adalah 3. Klik Go.

3. Tentukan nama ketiga field berikut tipe datanya.

adalah 3. Klik Go . 3. Tentukan nama ketiga field berikut tipe datanya. S1 Teknik Informatika
1. Klik Save . Jika pembuatan tabel berhasil, maka akan muncul pesan seperti berikut ini:

1. Klik Save. Jika pembuatan tabel berhasil, maka akan muncul pesan seperti berikut ini:

Save . Jika pembuatan tabel berhasil, maka akan muncul pesan seperti berikut ini: S1 Teknik Informatika
PHPMyAdmin – Memasukkan data  Langkah-langkah memasukkan data: 1. Pada sisi kiri (menu HOME), terdapat

PHPMyAdmin – Memasukkan data

Langkah-langkah memasukkan data:

1. Pada sisi kiri (menu HOME), terdapat nama database db_company dan tabel-tabel di dalamnya. Klik tabel yang akan dimasukkan datanya, misalnya tabel EMPLOYEE.

2. Terdapat link Browse, Select, Insert, Empty, Drop. Untuk memasukkan data, klik link Insert. Pada halaman entri data, masukkan data yang diinginkan pada kolom kanan.

3. Di bawah form isian, terdapat dua buah radio button. Pilihan “Return” artinya kembali ke halaman tabel dan pengisian selesai). Sedangkan pilihan “Insert a new record” artinya memasukkan record baru berikutnya. Misalnya yang dipilih adalah Return.

4. Klik Go.

record baru berikutnya. Misalnya yang dipilih adalah Return . 4. Klik Go . S1 Teknik Informatika
PHPMyAdmin – Mengedit dan menghapus data  Langkah-langkah untuk mengedit (meng- update) dan menghapus data:

PHPMyAdmin – Mengedit dan menghapus data

Langkah-langkah untuk mengedit (meng-update) dan menghapus data:

1. Klik link Browse atau Select pada tabel yang akan diubah atau dihapus datanya

2. Data ditampilkan dalam bentuk tabel dan pada sisi kirinya terdapat link Edit dan Delete

3. Untuk menghapus data, klik Delete dan jawab OK sebagai konfirmasi

4. Untuk meng-update data, klik Edit.Pada form isian (seperti pada penambahan) betulkan data yang perlu diupdate. Akhiri dengan klik Go