pengolahan database dengan mysql

112
Pengolahan Database dengan MySQL I Putu Hariyadi http://www.iputuhariyadi.net

Upload: i-putu-hariyadi

Post on 16-Apr-2017

305 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Pengolahan Database Dengan MySQL

Pengolahan Database dengan

MySQL

I Putu Hariyadi

http://www.iputuhariyadi.net

Page 2: Pengolahan Database Dengan MySQL

Materi:

Pengenalan MySQL

Manajemen Objek di MySQL

Data Manipulation Language (DML),

Manajemen User, dan Data Control

Language (DCL).

Backup & Restore Database

Page 3: Pengolahan Database Dengan MySQL

Pengenalan MySQL

Page 4: Pengolahan Database Dengan MySQL

Pengenalan MySQL

MySQL merupakan sistem manajamendatabase open source SQL yang paling populer, dikembangkan, didistribusikan, dan didukung oleh Oracle Corporation.

Database merupakan kumpulan data terstruktur.

MySQL bertindak sebagai sistemmanajemen database yang digunakanuntuk menambahkan, mengakses, danmemproses data yang tersimpan didatabase komputer.

Page 5: Pengolahan Database Dengan MySQL

Pengenalan MySQL MySQL merupakan database yang bersifat

relasional, dimana data disimpan padatabel-tabel terpisah daripadamenempatkannya pada sebuah tempatpenyimpanan yang besar.

Struktur database dikelola kedalam file-file fisik yang dioptimasi kecepatannya. Model logikal dengan objek-objek sepertidatabases, tables, views, rows, dan colums, memberikan fleksibilitas lingkunganpemrograman.

Page 6: Pengolahan Database Dengan MySQL

Pengenalan MySQL MySQL memiliki performansi yang sangat

cepat, handal (reliable), scalable, dan mudah

digunakan.

MySQL merupakan sistem client/server dan

dapat beroperasi pada embedded systems.

MySQL menggunakan Structured Query

Language (SQL) yang merupakan bahasa

standard yang digunakan untuk mengakses

database yang didefinisikan oleh ANSI/ISO

SQL Standard.

Page 7: Pengolahan Database Dengan MySQL

Pengenalan MySQL

MySQL Software bersifat Open Source,

dimana memungkinkan siapapun untuk

menggunakan dan memodifikasi perangkat

lunaknya. Siapapun dapat mengunduh

software MySQL, dan menggunakannya

tanpa perlu membayar.

MySQL dapat berjalan di beragam

platform sistem operasi, seperti Unix,

Linux, Windows, dan Mac OS.

Page 8: Pengolahan Database Dengan MySQL

Lisensi MySQL

MySQL memiliki 2 jenis lisensi yaitu:

a. Pengguna dapat memilih untuk

menggunakan MySQL sebagai produk

Open Source dibawah lisensi GNU

General Public License (GNU/GPL).

b. Pengguna dapat membeli standard lisensi

komersil dari Oracle.

Page 9: Pengolahan Database Dengan MySQL

Bagaimana memperoleh MySQL?

MySQL dapat diunduh melalui alamat

http://dev.mysql.com/downloads

Page 10: Pengolahan Database Dengan MySQL

Software Pendukung Pembelajaran

Untuk mendukung materi pembelajaran

yang terdapat pada pelatihan “Pengolahan

Database dengan MySQL” ini, diperlukan

beberapa perangkat lunak yaitu MySQL

sebagai server database, dan program mysql

client berbasis web phpMyAdmin. Agar

phpMyAdmin dapat digunakan diperlukan

server web Apache, dan interpreter bahasa

pemrograman PHP.

Page 11: Pengolahan Database Dengan MySQL

Software Pendukung Pembelajaran

Perangkat lunak ini dapat diunduh dari

Internet, dan diinstalasi satu per satu.

Namun untuk mempermudah proses

instalasi dari beberapa perangkat lunak yang

dibutuhkan tersebut, maka pada proses

pembelajaran pelatihan ini diputuskan untuk

menggunakan paket aplikasi XAMPP.

Page 12: Pengolahan Database Dengan MySQL

XAMPP XAMPP merupakan paket perangkat lunak cross

platform yang bersifat free, dan open sourcesebagai solusi untuk membangun server web, dimana terdiri dari HTTP server Apache, database MySQL, dan interpreter untuk skripyang ditulis dengan bahasa pemrograman PHP,dan Perl.

Nama XAMPP merupakan akronim dari:

a. X - dibaca "cross", yang bermakna cross-platform.

b. A - Apache HTTP Server.

c. M – MySQL.

d. P – PHP.

e. P – Perl.

Page 13: Pengolahan Database Dengan MySQL

XAMPP

Terdapat 4 jenis distribusi XAMPP yaitu:

a. XAMPP for Linux.

b. XAMPP for Windows.

c. XAMPP for MAC OS X.

d. XAMPP for Solaris.

Page 14: Pengolahan Database Dengan MySQL

XAMPP

Distribusi XAMPP yang akan digunakan

adalah versi Windows, yang didalamnya

telah memuat: Apache, MySQL, PHP +

PEAR, Perl, mod_php, mod_perl, mod_ssl,

OpenSSL, phpMyAdmin,Webalizer,

Mercury Mail Transport System for Win32

and NetWare Systems v3.32, Ming, FileZilla

FTP Server, mcrypt, eAccelerator, SQLite, and

WEB-DAV + mod_auth_mysql.

Page 15: Pengolahan Database Dengan MySQL

XAMPP

Paket aplikasi XAMPP dapat diunduh

melalui situs http://www.apachefriends.org

Page 16: Pengolahan Database Dengan MySQL

INSTALASI & KONFIGURASI XAMPP

PRAKTIKUM

Page 17: Pengolahan Database Dengan MySQL

Control Panel XAMPP

XAMPP menyediakan fitur Control Panel yang dapat digunakan untukmemanajemen service, seperti Apache untuk layanan web, MySQL untuk layanandatabase, FileZilla untuk layanan FTP, danMercury untuk layanan Email.

Control Panel dari XAMPP dapat diaksesmelalui icon shorcut pada Desktop, ataumelalui Start menu > All Programs > XAMPP For Windows > XAMPP Control Panel.

Page 18: Pengolahan Database Dengan MySQL

Control Panel XAMPP

Page 19: Pengolahan Database Dengan MySQL

Memverifikasi XAMPP

Setelah mengaktifkan service-service

terkait melalui Control Panel XAMPP, Anda

dapat melakukan verifikasi melalui browser

dengan mengakses alamat berikut:

http://localhost atau http://127.0.0.1

Page 20: Pengolahan Database Dengan MySQL

PATH Binary MySQL

Lokasi binary dari program aplikasi

MySQL terdapat pada direktori

C:\XAMPP\MySQL\bin.

Untuk dapat menggunakan program

MySQL Client versi console/terminal,

diperlukan pengaturan PATH dari binary

MySQL.

Page 21: Pengolahan Database Dengan MySQL

KONFIGURASI &

VERIFIKASI PATH BINARY

MYSQL PADA SISTEM

OPERASI WINDOWS

PRAKTIKUM

Page 22: Pengolahan Database Dengan MySQL

Mengakses Server MySQL

Untuk dapat mengakses database yang

terdapat pada Server MySQL dari

komputer client, maka digunakan program

mysql-client.

Page 23: Pengolahan Database Dengan MySQL

Mengakses Server MySQL

Terdapat 3 jenis program mysql-client yaitu:

a. Berbasis console/terminal.

b. Graphical User Interface (GUI) berbasis

desktop, menggunakan program MySQL

Workbench atau lainnya yang berbayar

seperti Navicat.

c. Web based, menggunakan PhpMyAdmin.

Page 24: Pengolahan Database Dengan MySQL

Mengakses Server MySQL

Pengguna yang ingin mengakses Server

MySQL harus melalui 2 tahapan yaitu:

a. Otentikasi, yaitu pengecekan username

(nama pengguna), dan password (sandi)

yang digunakan untuk koneksi.

b. Otorisasi, yaitu mengecek ijin akses

(privilege) user tersebut.

Page 25: Pengolahan Database Dengan MySQL

Mengakses Server MySQL Secara default, MySQL telah membuatkan

satu pengguna dengan hak akses penuh,

yang dapat digunakan untuk mengakses ke

server secara lokal (localhost), dengan

nama login “root”, dan sandi kosong

(blank).

Page 26: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

Untuk dapat mengakses Server MySQL menggunakan program mysql-clientberbasis console/terminal dapat dilakukandengan cara membuka program Command Prompt dari Windows melalui Start menu > All Programs > Accessories > Command Prompt.

Program mysql-client pada console atauterminal dapat diakses menggunakanperintah “mysql” pada command prompt.

Page 27: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

Perintah “mysql” memiliki beragam

parameter. Untuk menampilkan informasi

paramater-parameter yang dimiliki

digunakan perintah “mysql --help”.

Page 28: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal Untuk dapat mengkoneksikan ke server MySQL,

perintah “mysql” membutuhkan beberapaparameter yaitu:

-h : digunakan untuk menentukan hostname, dimana dapat berupa nama komputer ataualamat IP dari Server MySQL yang akan diakses.

-u : digunakan untuk menentukan namapengguna (username) yang digunakan untuk login ke Server MySQL.

-p : digunakan untuk menentukan sandi login (password) sesuai dengan nama login penggunayang digunakan. Apabila nilai dari paramater inidikosongkan maka akan ditanyakan dari terminal.

Page 29: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal Sebagai contoh untuk terkoneksi ke server

MySQL dengan nama host (hostname)

“localhost” yaitu komputer lokal/diri

sendiri, menggunakan nama login pengguna

“root” dengan sandi kosong (blank), maka

perintah mysql beserta parameternya akan

tampak sebagai berikut:

Page 30: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal Apabila koneksi berhasil dilakukan maka

akan tampil prompt “mysql>” pada

console/terminal.

Melalui “mysql>” prompt ini selanjutnya

Anda dapat memasukkan perintah-perintah

SQL untuk memanajemen objek-objek pada

MySQL.

Page 31: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal Untuk memutuskan koneksi ke Server

MySQL digunakan perintah “quit”.

Page 32: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

Terdapat beberapa hal yang harus Andapahami terkait pengunaan “mysql>” prompt yaitu:

a. Sebuah perintah umumnya terdiri daristatement SQL yang diakhiri dengan tandasemicolon “;”. Terdapat beberapapengecualian dimana tanda semicolondapat diabaikan, sebagai contoh perintah“quit” dapat dieksekusi tanpa diakhiridengan tanda “;”.

Page 33: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminalb. Ketika perintah dimasukkan, mysql-client akan

mengirimkannya ke server untuk dieksekusi,

dan menampilkan hasilnya, serta menampilkan

mysql> prompt berikutnya yang

mengindikasikan kesiapan untuk menerima

perintah selanjutnya.

Page 34: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

c. MySQL menampilkan hasil query dalam

format tabular (baris, dan kolom), dimana

baris pertama memuat label dari kolom,

dan baris selanjutnya merupakan hasil dari

query.

Page 35: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

d. MySQL menampilkan jumlah baris sebagai

hasil dari eksekusi, dan berapa lama query

tersebut dieksekusi.

Page 36: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

e. Keyword yang diketikkan dapat

menggunakan huruf apapun (tidak bersifat

case-sensitive).

Page 37: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminalf. Beberapa statement dapat diketikkan pada

sebuah baris dengan ketentuan masing-

masing statement diakhiri dengan tanda

semicolon.

Page 38: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

g. Perintah tidak harus diketikkan dalam satu

baris.

Page 39: Pengolahan Database Dengan MySQL

MySQL Client via Console/Terminal

h. Untuk membatalkan eksekusi perintah

yang dimasukkan digunakan “\c”.

Page 40: Pengolahan Database Dengan MySQL

MYSQL CLIENT VIA CONSOLE/TERMINAL

PRAKTIKUM

Page 41: Pengolahan Database Dengan MySQL

MySQL Client via Web Based

phpMyAdmin dapat diakses melalui alamat

http://localhost/phpmyadmin atau

http://127.0.0.1/phpmyadmin

Page 42: Pengolahan Database Dengan MySQL

MYSQL CLIENT VIA WEB BASED

PRAKTIKUM

Page 43: Pengolahan Database Dengan MySQL

Manajemen Objek MySQL

Untuk memanajemen objek-objek di

MySQL digunakan perintah-perintah yang

dikelompokkan ke dalam beberapa

kategori yaitu:

a) Data Definition Language (DDL).

b) Data Manipulation Language (DML).

c) Data Query Language (DQL).

d) Data Control Language (DCL).

Page 44: Pengolahan Database Dengan MySQL

Data Definition Language (DDL)

Merupakan sekumpulan perintah SQL

yang digunakan untuk memanajemen

struktur logikal, dan definisi metadata dari

objek-objek database.

Objek-objek yang dimanajemen meliputi

database, table, view, index, stored procedure,

function, trigger.

Page 45: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN DATABASE

Manajemen Database meliputi aktivitas

membuat database baru, dan menghapus

database yang telah dibuat.

Secara ringkas terdapat 2 perintah SQL

yang umum digunakan untuk melakukan

aktivitas manajamen database yaitu

CREATE DATABASE, dan DROP

DATABASE.

Page 46: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN DATABASE

Perintah CREATE DATABASE digunakanuntuk membuat database baru.

Sintak penulisan perintahnya adalah sbb:

CREATE DATABASE nama_database;

Dimana parameter “nama_database” merupakan nama database yang akan dibuat. Sebagai contoh untuk membuat database dengan nama “latihan” digunakan perintahberikut:

CREATE DATABASE latihan;

Page 47: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN DATABASE

Untuk menampilkan informasi database-

database yang terdapat pada MySQL

digunakan perintah:

SHOW DATABASES;

Untuk mengakses database tertentu yang

telah dibuat, digunakan perintah:

USE nama_database;

Dimana “nama_database” merupakan

nama dari database yang ingin diakses.

Page 48: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN DATABASE

Sebagai contoh untuk mengakses database

dengan nama “latihan”, maka perintah

yang digunakan adalah sbb:

USE latihan;

Untuk menampilkan informasi nama

database yang sedang diakses, maka

digunakan perintah:

SELECT DATABASE();

Page 49: Pengolahan Database Dengan MySQL

DDL - MANAJEMEN DATABASE

Untuk menghapus database tertentudigunakan perintah SQL DROP DATABASE.

Sintak penulisan perintahnya adalah sbb:

DROP DATABASE nama_database;

Dimana parameter “nama_database”merupakan nama database yang akandihapus. Contoh untuk menghapusdatabase dengan nama “latihan”:

DROP DATABASE latihan;

Page 50: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Manajemen tabel meliputi aktivitas

membuat tabel, mengubah nama tabel,

mengubah nama field, atau tipe data dari

suatu field pada sebuah tabel, dan

menghapus tabel.

Page 51: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Perintah CREATE TABLE digunakan untuk

membuat tabel.

Secara umum pembuatan tabel memerlukan

informasi meliputi nama dari tabel yang akan

dibuat, nama-nama dari field, dan definisi dari

masing-masing field seperti tipe data dan

batasannya.

Sintak penulisan perintahnya adalah sbb:

CREATE TABLE nama_tabel

(nama_kolom tipe_data) type=jenis_tabel;

Page 52: Pengolahan Database Dengan MySQL

Storage Engines MySQL

MySQL mendukung beragam jenis storage engines untuk menangani jenis tabel yang berbeda.

Storage engines MySQL mendukung baik tabelyang mampu menangani transaksi maupun yang tidak mendukung transaksi.

Transaksi merupakan sekumpulan instruksiatau operasi yang dilakukan secara keseluruhanatau tidak sama sekali.

Perintah SHOW ENGINES digunakan untukmengetahui storage engine yang didukung olehserver MySQL.

Page 53: Pengolahan Database Dengan MySQL

Storage Engines MySQL

Adapun beberapa storage engines yang

didukung oleh MySQL adalah sebagai

berikut:

a. MyISAM

b. Memory

c. InnoDB

d. Archive

e. NDB

Page 54: Pengolahan Database Dengan MySQL

Storage Engines MySQL

MyISAM merupakan jenis storage engine

yang digunakan secara default ketika

membuat tabel di MySQL. MyISAM tidak

mendukung fitur transaksi.

InnoDB merupakan jenis storage engine

yang mendukung transaksi, dan

mendukung row-level locking, serta foreign

key untuk memelihara integritas data.

Page 55: Pengolahan Database Dengan MySQL

Storage Engines MySQL

Untuk memperoleh detail informasi

tentang perbedaan dari masing-masing

storage engines dari MySQL, dapat diakses

di situs MySQL pada alamat berikut:

http://dev.mysql.com/doc/refman/5.1/en/st

orage-engines.html

Page 56: Pengolahan Database Dengan MySQL

Tipe Data MySQL

MySQL mendukung 3 kategori tipe data

yaitu numerik, tanggal & waktu (date &

time), dan karakter (string).

Page 57: Pengolahan Database Dengan MySQL

Tipe Data Numerik di MySQL

INT, integer yang berukuran normal dapatbertanda (signed) atau tanpa tanda (unsigned). Jika signed maka memiliki jangkauan -2147483648 sampai dengan 2147483647, sebaliknya unsigned maka memiliki jangkauan 0 sampai dengan 4294967295. Panjang maksimum 11 digit.

TINYINT, integer yang berukuran sangatkecil dapat bertanda (signed) atau tanpa tanda(unsigned). Jika signed maka memiliki jangkauan-128 sampai dengan 127, sebaliknya unsignedmaka memiliki jangkauan 0 sampai dengan 255. Panjang maksimum 4 digit.

Page 58: Pengolahan Database Dengan MySQL

Tipe Data Numerik di MySQL

SMALLINT, integer yang berukuran kecildapat bertanda (signed) atau tanpa tanda(unsigned). Jika signed maka memiliki jangkauan-32768 sampai dengan 32767, sebaliknyaunsigned maka memiliki jangkauan 0 sampaidengan 65535. Panjang maksimum 5 digit.

MEDIUMINT, integer yang berukuranmenengah dapat bertanda (signed) atau tanpatanda (unsigned). Jika signed maka memilikijangkauan -8388608 sampai dengan 8388607, sebaliknya unsigned maka memiliki jangkauan 0 sampai dengan 16777215. Panjang maksimum 9 digit.

Page 59: Pengolahan Database Dengan MySQL

Tipe Data Numerik di MySQL

BIGINT, integer yang berukuran besar

dapat bertanda (signed) atau tanpa tanda

(unsigned). Jika signed maka memiliki

jangkauan -9223372036854775808 sampai

dengan 9223372036854775807, sebaliknya

unsigned maka memiliki jangkauan 0

sampai dengan 18446744073709551615.

Panjang maksimum 11 digit.

Page 60: Pengolahan Database Dengan MySQL

Tipe Data Numerik di MySQL

FLOAT(M,D), bilangan floating-point dan

tidak dapat berupa unsigned. Dapat

ditentukan panjang (M), dan jumlah decimal

(D).

DOUBLE(M,D), bilangan floating-point

dengan presisi ganda dan tidak dapat berupa

unsigned, Dapat ditentukan panjang (M), dan

jumlah decimal (D). REAL adalah sinonim

dari DOUBLE.

Page 61: Pengolahan Database Dengan MySQL

Tipe Data Numerik di MySQL

DECIMAL(M,D), bilangan floating-point

yang unpacked (bilangan disimpan sebagai

string, menggunakan 1 karakter disetiap

digitnya) dan tidak dapat berupa unsigned.

Harus ditentukan panjang (M), dan jumlah

decimalnya (D). NUMERIC adalah sinonim

dari DECIMAL.

Page 62: Pengolahan Database Dengan MySQL

Tipe Data Date & Time di MySQL

DATE, tanggal dengan format YYYY-MM-DD,

dengan jangkauan antara ‘1000-01-01’ sampai

dengan ‘9999-12-31’. Dimana Y adalah tahun

(Year), M adalah bulan (Month), dan D adalah

tanggal (Date).

DATETIME, gabungan dari tanggal, dan

waktu dalam format YYYY-MM-DD HH:MM:SS,

dengan jangkauan nilai antara ‘1000-01-01

00:00:00’ sampai dengan ‘9999-12-31 23:59:59’.

TIMESTAMP, sebuah timestamp dengan

jangkauan antara 1 Januari 1970 hingga suatu

waktu di tahun 2037.

Page 63: Pengolahan Database Dengan MySQL

Tipe Data Date & Time di MySQL

TIME, menyimpan waktu dengan format

hh:mm:ss, dimana h adalah jam (hour), m

adalah menit (minute), s adalah detik (second).

YEAR(M), tahun dalam angka dengan

format 2 atau 4 digit. Jika ditentukan YEAR(2)

maka tahun dapat berupa 1970-2069 (70-69).

Jika ditentukan YEAR(4) maka tahun dapat

berupa 1901-2155. Defaultnya adalah 4 digit.

M merupakan panjang digit.

Page 64: Pengolahan Database Dengan MySQL

Tipe Data String di MySQL CHAR(M), string dengan panjang tetap antara 1

sampai dengan 255. M menyatakan panjangmaksimum.

VARCHAR(M), string dengan panjang bervariasiantara 0 sampai dengan 65.535.

BLOB atau TEXT, sebuah field dengan panjangmaksimum 65.535 karakter. Binary Large Object (BLOB) digunakan untuk menyimpan data binary yang besar seperi gambar, atau tipe file lainnya. TEXTjuga dapat menampung data dengan jumlah yang besar. Perbedaannya terletak pada pengurutan danperbandingan data yang disimpan, dimana BLOBbersifat case-sensitive, sebaliknya TEXT tidak. Panjang dari BLOB atau TEXT tidak perlu dicantumkan.

Page 65: Pengolahan Database Dengan MySQL

Tipe Data String di MySQL TINYBLOB atau TINYTEXT, sebuah field

BLOB atau TEXT dengan panjang maksimum255 karakter. Panjang dari TINYBLOB atauTINYTEXT tidak perlu dicantumkan.

MEDIUMBLOB atau MEDIUMTEXT, sebuah field BLOB atau TEXT dengan panjangmaksimum 16.777.215 karakter. Panjang dariMEDIUMBLOB atau MEDIUMTEXT tidak perludicantumkan.

LONGBLOB atau LONGTEXT, sebuahfield BLOB atau TEXT dengan panjangmaksimum 4.294.967.295 karakter. Panjang dari LONGBLOB atau LONGTEXT tidak perludicantumkan.

Page 66: Pengolahan Database Dengan MySQL

Tipe Data String di MySQL

ENUM, sebuah enumerasi, yaitu objek string

dengan nilai yang dipilih hanya satu dari daftar

yang telah dispesifikasikan pada kolom ketika

pembuatan tabel. Maksimum memiliki 65.535

elemen/pilihan, dan penulisan dari masing-

masing elemen diapit menggunakan tanda petik.

Sebagai contoh jenis kelamin yang hanya terdiri

dari 2 pilihan yaitu ‘L’ untuk laki-laki dan ‘P’

untuk perempuan, dapat menggunakan tipe

data ini dengan penulisan sebagai berikut:

jenis_kelamin(‘L’,’P’)

Page 67: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Sebagai contoh akan dibuat sebuah tabel

dengan nama produk dengan ketentuan sbb:

Nama

Field/Kolom

Tipe Data Panjang Keterangan

kode_produk char 5 Digunakan untuk

menyimpan data kode

produk

nama_produk varchar 100 Digunakan untuk

menyimpan data nama

produk

Field kode_produk dijadikan sebagai Primary Key.

Page 68: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Berikut adalah perintah untuk membuat

tabel dengan ketentuan tersebut:

CREATE TABLE produk (

kode_produk CHAR(5),

nama_produk VARCHAR(100),

PRIMARY KEY (kode_produk)

);

Page 69: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Perintah “SHOW TABLES;” digunakan

untuk menampilkan informasi tabel-tabel

yang telah terdapat pada suatu database.

Perintah “DESCRIBE nama_tabel;”

digunakan untuk menampilkan informasi

tentang struktur tabel yang meliputi nama

field/kolom, tipe data, null, key, default, dan

extra.

Page 70: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Perintah RENAME TABLE digunakanuntuk mengubah nama tabel.

Sintak penulisan perintahnya adalah sbb:

RENAME TABLE nama_tabel_yang_akan_diubahTO nama_tabel_baru;

Sebagai contoh perintah untuk mengubahnama tabel “produk” menjadi “barang” adalah sbb:

RENAME TABLE produkTO barang;

Page 71: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Perintah ALTER TABLE digunakan untukmengubah nama field pada tabel tertentu.

Sintak penulisan perintahnya adalah sbb:

ALTER TABLE nama_tabel CHANGE nama_field_lama nama_field_barutipe_data batasan;

Sebagai contoh perintah untuk mengubahnama field “nama_produk” menjadi“nama_barang” dengan tipe data “varchar(75)” pada tabel “barang” adalah sbb:

ALTER TABLE barang CHANGE nama_produk nama_barang varchar(75);

Page 72: Pengolahan Database Dengan MySQL

DDL – MANAJEMEN TABEL

Perintah DROP TABLE digunakan untuk

menghapus tabel.

Sintak penulisan perintahnya adalah sbb:

DROP TABLE nama_tabel;

Sebagai contoh untuk menghapus tabel

dengan nama “barang” adalah sbb:

DROP TABLE barang;

Page 73: Pengolahan Database Dengan MySQL

DDL – MANAJEMENTABEL

PRAKTIKUM

Page 74: Pengolahan Database Dengan MySQL

Data Manipulation Language (DML)

Merupakan sekumpulan perintah SQL

yang digunakan untuk memanajemen data

pada suatu tabel, meliputi proses

memasukkan, mengubah, dan menghapus

data.

Perintah-perintah DML terdiri dari

perintah INSERT, UPDATE, dan

DELETE.

Page 75: Pengolahan Database Dengan MySQL

DML - INSERT

Digunakan untuk memasukkan data ke

suatu tabel.

Sintak penulisan perintah INSERT adalah

sebagai berikut:

INSERT INTO nama_tabel

[(nama_kolom1, nama_kolom2, …)]

VALUES

(nilai_kolom1, nilai_kolom2, …)

Page 76: Pengolahan Database Dengan MySQL

DML - INSERT

Sebagai contoh untuk memasukkan data

ke tabel “barang” dengan nilai dari

kolom/field “kode_barang” adalah

“P0001” dan kolom “nama_barang”

adalah “Pepsodent”, adalah sbb:

INSERT INTO barang

(kode_barang, nama_barang)

VALUES

(‘P0001,’Pepsodent’);

Page 77: Pengolahan Database Dengan MySQL

DML - UPDATE Digunakan untuk mengubah data yang sudah

tersimpan pada suatu tabel di database.

Perubahan nilai dapat dilakukan pada satu, atau beberapa kolom/field dari satu, beberapa, atau semua record pada suatutabel.

Sintak penulisan perintah UPDATE adalahsbb:

UPDATE nama_tabel

SET nama_kolom1=nilai1,

[nama_kolom2=kolom2 …]

WHERE

kondisi

Page 78: Pengolahan Database Dengan MySQL

DML - UPDATE

Sebagai contoh untuk mengubah nilai darisalah satu record pada tabel “barang” yang memiliki “kode_barang” samadengan “P0001” dengan nilai pada kolom“kode_barang” menjadi “P0002” dankolom “nama_barang” menjadi“Lifebouy”, adalah sebagai berikut:

UPDATE barang SET kode_barang=‘P0002’, nama_barang=‘Lifebouy’ WHERE kode_barang=‘P0001’;

Page 79: Pengolahan Database Dengan MySQL

DML - DELETE Digunakan untuk menghapus satu, beberapa,

atau semua record yang terdapat pada suatutabel.

Sintak penulisan perintah DELETE untukmenghapus seluruh record adalah sbb:

DELETE FROM nama_tabel

Sintak penulisan perintah DELETE untukmenghapus satu atau beberapa record berdasarkan kriteria tertentu adalah sbb:DELETE FROM nama_tabel

WHERE kondisi

Kondisi digunakan untuk membatasi record mana yang akan dihapus.

Page 80: Pengolahan Database Dengan MySQL

DDL - DELETE

Sebagai contoh untuk menghapus salah

satu record pada tabel “barang” yang

memiliki nilai “kode_barang“ sama

dengan “P0002”, adalah sbb:

DELETE FROM barang WHERE

kode_barang=‘P0002’;

Klausa WHERE digunakan untuk

memfilter record yang akan dihapus.

Page 81: Pengolahan Database Dengan MySQL

Manajemen User MySQL

Sintak perintah untuk membuat user baruadalah sbb:

CREATE USER nama_penggunaIDENTIFIED BY sandi_pengguna

Format nama_pengguna adalah‘nama_pengguna’@’hostname’.

Contoh membuat user dengan nama “ali” yang terkoneksi dari “localhost” dengansandi “123456”:

CREATE USER ‘ali’@’localhost’ IDENTIFIED BY 123456

Page 82: Pengolahan Database Dengan MySQL

Manajemen User MySQL

Untuk mengijinkan pengguna tertentu

dapat mengakses Server MySQL dari host

manapun, digunakan wildcard ‘%’ yang

memiliki makna dari host manapun.

Sebagai contoh membuat user dengan

nama ‘hasan’ yang dapat terkoneksi dari

manapun dengan sandi ‘bumigora’:

CREATE USER ‘hasan’@’%’

IDENTIFIED BY ‘bumigora’;

Page 83: Pengolahan Database Dengan MySQL

Mengubah Sandi User MySQL

Perintah yang digunakan untuk mengubahsandi user adalah sbb:

USE mysql;

UPDATE user SET password=PASSWORD(‘sandi_pengguna’) WHERE user=‘nama_pengguna’ AND host=‘nama_host’;

FLUSH PRIVILEGES;

Page 84: Pengolahan Database Dengan MySQL

Mengubah Sandi User MySQL Perintah FLUSH PRIVILEGES; digunakan

untuk membaca ulang privilege dari table grant di database MySQL.

Sebagai contoh untuk mengubah sandi dariuser ‘hasan’@’%’ dengan sandi “mataram”, adalah sbb:

USE mysql;

UPDATE user SET password=PASSWORD(‘mataram’) WHERE user=‘hasan’ AND host=‘%’;

FLUSH PRIVILEGES;

Page 85: Pengolahan Database Dengan MySQL

Data Control Language (DCL)

Merupakan sekumpulan perintah SQL

yang digunakan untuk mengatur ijin akses

(permission) pengguna terhadap objek-

objek database dan isinya, baik

memberikan maupun mencabut ijin akses.

Inti dari DCL adalah terkait dengan

keamanan.

Perintah-perintah DCL terdiri dari

perintah GRANT, dan REVOKE.

Page 86: Pengolahan Database Dengan MySQL

DCL - GRANT

Perintah GRANT digunakan untuk

memberikan ijin akses (privileges) ke user

tertentu.

Sintak penulisan perintahnya adalah

sebagai berikut:

GRANT privileges (daftar_kolom)

ON [jenis_objek] level_privilege

TO akun [IDENTIFIED BY

‘sandi_pengguna’];

Page 87: Pengolahan Database Dengan MySQL

DCL - GRANT

Dimana privileges mengindikasikan ijin aksesyang diberikan ke akun, sebagai contoh privilege CREATE untuk membuat database, dan tabel. Anda dapat memberikan beberapa privilege dalam satu eksekusi perintah, gunakan tandakoma sebagai pemisah antar ijin akses. daftar_kolom menspesifikasikan kolom-kolomdimana ijin akses diterapkan. level_privilegemenspesifikasikan pada level mana ijin aksesditerapkan. akun menspesifikasikan akun yang akan diberikan ijin aksesnya. passwordmenentukan sandi yang diberikan ke akun.

Page 88: Pengolahan Database Dengan MySQL

DCL - GRANT

Apabila akun sudah ada, maka MySQL

akan mengubah ijin aksesnya (privileges).

Sebaliknya apabila tidak ada, maka

perintah GRANT akan membuatkan akun

baru dengan ijin akses tersebut.

Page 89: Pengolahan Database Dengan MySQL

DCL - GRANT

Berikut daftar beberapa ijin akses

(privileges) yang dapat digunakan bersama

MySQL GRANT :

Privilege Deskripsi

ALL Memberikan semua ijin akses pada level privilege yang ditentukan.

SELECT Mengijinkan pengguna untuk menggunakn perintah SELECT

INSERT Mengijinkan pengguna untuk menggunakan perintah INSERT

UPDATE Mengijinkan pengguna untuk menggunakan perintah UPDATE

DELETE Mengijinkan pengguna untuk menggunakan perintah DELETE

Page 90: Pengolahan Database Dengan MySQL

DCL - GRANT

Sintak perintah GRANT untuk

memberikan seluruh ijin akses pada

database tertentu kepada user adalah sbb:

GRANT ALL ON nama_database.*

TO ‘nama_pengguna’@’nama_host’

[IDENTIFIED BY ‘sandi_pengguna’];

Page 91: Pengolahan Database Dengan MySQL

DCL - GRANT

Sebagai contoh untuk memberikan

seluruh ijin akses pada database “latihan”

ke pengguna dengan nama ‘ali’, adalah sbb:

GRANT ALL ON latihan.*

TO ‘ali’@’localhost’;

Page 92: Pengolahan Database Dengan MySQL

DCL - REVOKE

Perintah REVOKE digunakan untuk

mencabut ijin akses (privilege) user

tertentu.

Sintak penulisan perintahnya adalah sbb:

REVOKE jenis_privilege ON

level_privilege FROM nama_pengguna

Page 93: Pengolahan Database Dengan MySQL

DCL - REVOKE

Dimana jenis_privilege menentukan jenis

hak akses yang akan dicabut (dapat lebih

dari satu, gunakan tanda koma sebagai

pemisah), dan level_privilege

menentukan pada level mana hak akses

yang akan dicabut, sedangkan

nama_pengguna merupakan nama user

yang akan dicabut hak aksesnya.

Page 94: Pengolahan Database Dengan MySQL

DCL - REVOKE

Sebagai contoh untuk mencabut seluruh

ijin akses yang diberikan ke user

‘ali’@’localhost’ adalah sbb:

REVOKE ALL PRIVILEGES FROM

‘ali’@’localhost’;

Page 95: Pengolahan Database Dengan MySQL

MANAJEMEN USER

Perintah DROP USER digunakan untuk

menghapus user di MySQL.

Sintak penulisan perintahnya adalah sbb:

DROP USER nama_pengguna;

Sebagai contoh untuk menghapus user

‘ali’, adalah sbb:

DROP USER ‘ali’@’localhost’;

Page 96: Pengolahan Database Dengan MySQL

Backup Database MySQL

MySQL menyediakan tool yang sangatberguna untuk melakukan backup ataudump database MySQL secara lokal padaserver dengan sangat cepat, yaitumysqldump.

File hasil backup akan disimpan pada file system di server, dan didalamnya memuatsekumpulan perintah SQL yang digunakanuntuk membuat & memasukkan data kedalam tabel-tabel.

Page 97: Pengolahan Database Dengan MySQL

Backup Database MySQL

mysqldump dapat digunakan untuk

membackup suatu database tertentu, dan

menyimpan hasilnya pada sebuah file.

Sintak penulisan perintahnya adalah sbb:

mysqldump -u [nama_pengguna]

-p[sandi_pengguna] [nama_database] >

[namafile_backup.sql]

Page 98: Pengolahan Database Dengan MySQL

Backup Database MySQL Dimana –u [nama_pengguna] adalah nama

login pengguna yang digunakan untuk

mengakses server MySQL,

-p[sandi_pengguna] adalah sandi dari

pengguna yang digunakan login,

[nama_database] adalah nama dari

database yang akan dibackup, dan

[namafile_backup.sql] adalah nama file

yang digunakan untuk menyimpan hasil

proses backup database, serta tanda

redirection > menyatakan output ke file.

Page 99: Pengolahan Database Dengan MySQL

Backup Database MySQL

Sebagai contoh untuk melakukan backup

database dengan nama “training, dan

menyimpan hasil backupnya dengan nama

“db_training.sql”, adalah sbb:

mysqldump -u root –p training >

db_training.sql

Page 100: Pengolahan Database Dengan MySQL

Backup Hanya Struktur dari Database

MySQL mysqldump dapat digunakan untuk membackup

hanya struktur dari database tanpa disertaidengan datanya, dan menyimpan hasilnya padasebuah file.

Sintak penulisan perintahnya adalah sbb:

mysqldump -u [nama_pengguna] -p[sandi_pengguna] –d [nama_database] > [namafile_backup.sql]

Dimana parameter -d digunakan untukmenentukan hanya struktur dari database yang akan dibackup tanpa disertai dengan datanya.

Page 101: Pengolahan Database Dengan MySQL

Backup Hanya Struktur dari

Database MySQL Sebagai contoh untuk melakukan backup

hanya struktur dari database dengan nama

“training” tanpa disertai dengan datanya, dan

menyimpan hasil backupnya dengan nama

“struktur_training.sql”, adalah sbb:

mysqldump -u root –p -d training >

struktur_training.sql

Page 102: Pengolahan Database Dengan MySQL

Backup Hanya Data dari Database

MySQL mysqldump dapat digunakan untuk membackup

hanya data dari database tanpa disertai denganstruktur databasenya, dan menyimpan hasilnyapada sebuah file.

Sintak penulisan perintahnya adalah sbb:

mysqldump -u [nama_pengguna] -p[sandi_pengguna] –t [nama_database] > [namafile_backup.sql]

Dimana parameter -t digunakan untukmenentukan hanya data dari database yang akandibackup.

Page 103: Pengolahan Database Dengan MySQL

Backup Hanya Data dari Database

MySQL Sebagai contoh untuk melakukan backup

hanya data dari database dengan nama

“training” tanpa disertai dengan struktur

databasenya, dan menyimpan hasil backupnya

dengan nama “data_training.sql”, adalah sbb:

mysqldump -u root –p –t training >

data_training.sql

Page 104: Pengolahan Database Dengan MySQL

Backup Beberapa Database MySQL

mysqldump dapat digunakan untukmembackup beberapa database sekaligus, danmenyimpan hasilnya pada sebuah file.

Sintak penulisan perintahnya adalah sbb:

mysqldump -u [nama_pengguna] -p[sandi_pengguna] -B [database1, database2,…] > [namafile_backup.sql]

Dimana parameter -B digunakan untukmenentukan beberapa nama database yang akan dibackup.

Page 105: Pengolahan Database Dengan MySQL

Backup Beberapa Database MySQL

Sebagai contoh untuk melakukan backup

database dengan nama “training” dan

“akademik”, serta menyimpan hasil

backupnya dengan nama

“db_training_akademik.sql”, adalah sbb:

mysqldump -u root –p –B

training,akademik >

db_training_akademik.sql

Page 106: Pengolahan Database Dengan MySQL

Backup Seluruh Database MySQL

mysqldump dapat digunakan untuk

membackup seluruh database, dan

menyimpan hasilnya pada sebuah file.

Sintak penulisan perintahnya adalah sbb:

mysqldump -u [nama_pengguna]

-p[sandi_pengguna] -A >

[namafile_backup.sql]

Dimana parameter -A digunakan untuk

menentukan seluruh database akan dibackup.

Page 107: Pengolahan Database Dengan MySQL

Backup Seluruh Database MySQL

Sebagai contoh untuk melakukan backup

seluruh database di server MySQL dan

menyimpan hasil backupnya dengan nama

“seluruh_database.sql”, adalah sbb:

mysqldump -u root -p

-A > seluruh_database.sql

Page 108: Pengolahan Database Dengan MySQL

Restore Database MySQL

Untuk melakukan restore database MySQL

dari file backup (*.sql) yang telah dibuat

menggunakan mysqldump, digunakan

perintah berikut:

mysql –u [nama_pengguna]

-p[sandi_pengguna] [nama_database]

< [namafile_backup.sql]

Dimana tanda redirection < menyatakan

input dari file.

Page 109: Pengolahan Database Dengan MySQL

BACKUP & RESTORE

DATABASE

MENGGUNAKAN

PHPMYADMIN

PRAKTIKUM

Page 110: Pengolahan Database Dengan MySQL

Materi pembelajaran ini disadur,

diterjemahkan, dan dirangkum dari

beberapa sumber referensi

berikut:

MySQL Tutorial,

http://www.mysqltutorial.org

Learning MySQL,

http://www.tutorialspoint.com

Page 111: Pengolahan Database Dengan MySQL

ADA PERTANYAAN?

Apabila rekan-rekan menghadapi kendalaketika mempelajari materi-materi padamodul ini, jangan segan untukmengirimkannya melalui email ke alamatberikut:

[email protected]

Page 112: Pengolahan Database Dengan MySQL

TERIMAKASIH