pengolahan database dengan mysql
TRANSCRIPT
Pengolahan Database dengan
MySQL
I Putu Hariyadi
http://www.iputuhariyadi.net
Materi:
Pengenalan MySQL
Manajemen Objek di MySQL
Data Manipulation Language (DML),
Manajemen User, dan Data Control
Language (DCL).
Backup & Restore Database
Pengenalan 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.
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.
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.
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.
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.
Bagaimana memperoleh MySQL?
MySQL dapat diunduh melalui alamat
http://dev.mysql.com/downloads
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.
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.
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.
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.
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.
XAMPP
Paket aplikasi XAMPP dapat diunduh
melalui situs http://www.apachefriends.org
INSTALASI & KONFIGURASI XAMPP
PRAKTIKUM
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.
Control Panel XAMPP
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
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.
KONFIGURASI &
VERIFIKASI PATH BINARY
MYSQL PADA SISTEM
OPERASI WINDOWS
PRAKTIKUM
Mengakses Server MySQL
Untuk dapat mengakses database yang
terdapat pada Server MySQL dari
komputer client, maka digunakan program
mysql-client.
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.
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.
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).
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.
MySQL Client via Console/Terminal
Perintah “mysql” memiliki beragam
parameter. Untuk menampilkan informasi
paramater-parameter yang dimiliki
digunakan perintah “mysql --help”.
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.
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:
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.
MySQL Client via Console/Terminal Untuk memutuskan koneksi ke Server
MySQL digunakan perintah “quit”.
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 “;”.
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.
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.
MySQL Client via Console/Terminal
d. MySQL menampilkan jumlah baris sebagai
hasil dari eksekusi, dan berapa lama query
tersebut dieksekusi.
MySQL Client via Console/Terminal
e. Keyword yang diketikkan dapat
menggunakan huruf apapun (tidak bersifat
case-sensitive).
MySQL Client via Console/Terminalf. Beberapa statement dapat diketikkan pada
sebuah baris dengan ketentuan masing-
masing statement diakhiri dengan tanda
semicolon.
MySQL Client via Console/Terminal
g. Perintah tidak harus diketikkan dalam satu
baris.
MySQL Client via Console/Terminal
h. Untuk membatalkan eksekusi perintah
yang dimasukkan digunakan “\c”.
MYSQL CLIENT VIA CONSOLE/TERMINAL
PRAKTIKUM
MySQL Client via Web Based
phpMyAdmin dapat diakses melalui alamat
http://localhost/phpmyadmin atau
http://127.0.0.1/phpmyadmin
MYSQL CLIENT VIA WEB BASED
PRAKTIKUM
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).
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.
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.
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;
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.
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();
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;
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.
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;
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.
Storage Engines MySQL
Adapun beberapa storage engines yang
didukung oleh MySQL adalah sebagai
berikut:
a. MyISAM
b. Memory
c. InnoDB
d. Archive
e. NDB
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.
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
Tipe Data MySQL
MySQL mendukung 3 kategori tipe data
yaitu numerik, tanggal & waktu (date &
time), dan karakter (string).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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’)
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.
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)
);
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.
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;
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);
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;
DDL – MANAJEMENTABEL
PRAKTIKUM
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.
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, …)
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’);
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
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’;
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.
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.
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
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’;
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;
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;
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.
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’];
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.
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.
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
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’];
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’;
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
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.
DCL - REVOKE
Sebagai contoh untuk mencabut seluruh
ijin akses yang diberikan ke user
‘ali’@’localhost’ adalah sbb:
REVOKE ALL PRIVILEGES FROM
‘ali’@’localhost’;
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’;
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.
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]
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.
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
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.
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
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.
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
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.
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
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.
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
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.
BACKUP & RESTORE
DATABASE
MENGGUNAKAN
PHPMYADMIN
PRAKTIKUM
Materi pembelajaran ini disadur,
diterjemahkan, dan dirangkum dari
beberapa sumber referensi
berikut:
MySQL Tutorial,
http://www.mysqltutorial.org
Learning MySQL,
http://www.tutorialspoint.com
ADA PERTANYAAN?
Apabila rekan-rekan menghadapi kendalaketika mempelajari materi-materi padamodul ini, jangan segan untukmengirimkannya melalui email ke alamatberikut:
TERIMAKASIH