2. Materi:
Pengenalan MySQL
Manajemen Objek di MySQL
Data Manipulation Language (DML),
Manajemen User, dan Data Control
Language (DCL).
Backup & Restore Database
4. Pengenalan MySQL
MySQL merupakan sistem manajamen
database open source SQL yang paling
populer, dikembangkan, didistribusikan,
dan didukung oleh Oracle Corporation.
Database merupakan kumpulan data
terstruktur.
MySQL bertindak sebagai sistem
manajemen database yang digunakan
untuk menambahkan, mengakses, dan
memproses data yang tersimpan di
database komputer.
5. Pengenalan MySQL
MySQL merupakan database yang bersifat
relasional, dimana data disimpan pada
tabel-tabel terpisah daripada
menempatkannya pada sebuah tempat
penyimpanan yang besar.
Struktur database dikelola kedalam file-file
fisik yang dioptimasi kecepatannya. Model
logikal dengan objek-objek seperti
databases, tables, views, rows, dan colums,
memberikan fleksibilitas lingkungan
pemrograman.
6. 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.
7. 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.
8. 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.
10. 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.
11. 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.
12. XAMPP
XAMPP merupakan paket perangkat lunak cross
platform yang bersifat free, dan open source
sebagai solusi untuk membangun server web,
dimana terdiri dari HTTP server Apache,
database MySQL, dan interpreter untuk skrip
yang 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.
13. XAMPP
Terdapat 4 jenis distribusi XAMPP yaitu:
a. XAMPP for Linux.
b. XAMPP forWindows.
c. XAMPP for MAC OS X.
d. XAMPP for Solaris.
14. 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 MailTransport System forWin32
and NetWare Systems v3.32, Ming, FileZilla
FTP Server, mcrypt, eAccelerator, SQLite, and
WEB-DAV + mod_auth_mysql.
17. Control Panel XAMPP
XAMPP menyediakan fitur Control Panel
yang dapat digunakan untuk
memanajemen service, seperti Apache
untuk layanan web, MySQL untuk layanan
database, FileZilla untuk layanan FTP, dan
Mercury untuk layanan Email.
Control Panel dari XAMPP dapat diakses
melalui icon shorcut pada Desktop, atau
melalui Start menu > All Programs > XAMPP
ForWindows > XAMPP Control Panel.
19. 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
20. PATH Binary MySQL
Lokasi binary dari program aplikasi
MySQL terdapat pada direktori
C:XAMPPMySQLbin.
Untuk dapat menggunakan program
MySQL Client versi console/terminal,
diperlukan pengaturan PATH dari binary
MySQL.
22. Mengakses Server MySQL
Untuk dapat mengakses database yang
terdapat pada Server MySQL dari
komputer client, maka digunakan program
mysql-client.
23. 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.
24. 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.
25. 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).
26. MySQL Client via Console/Terminal
Untuk dapat mengakses Server MySQL
menggunakan program mysql-client
berbasis console/terminal dapat dilakukan
dengan cara membuka program Command
Prompt dariWindows melalui Start menu >
All Programs > Accessories > Command
Prompt.
Program mysql-client pada console atau
terminal dapat diakses menggunakan
perintah “mysql” pada command prompt.
27. MySQL Client via Console/Terminal
Perintah “mysql” memiliki beragam
parameter. Untuk menampilkan informasi
paramater-parameter yang dimiliki
digunakan perintah “mysql --help”.
28. MySQL Client via Console/Terminal
Untuk dapat mengkoneksikan ke server MySQL,
perintah “mysql” membutuhkan beberapa
parameter yaitu:
-h : digunakan untuk menentukan hostname,
dimana dapat berupa nama komputer atau
alamat IP dari Server MySQL yang akan diakses.
-u : digunakan untuk menentukan nama
pengguna (username) yang digunakan untuk login
ke Server MySQL.
-p : digunakan untuk menentukan sandi login
(password) sesuai dengan nama login pengguna
yang digunakan.Apabila nilai dari paramater ini
dikosongkan maka akan ditanyakan dari terminal.
29. 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:
30. 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.
31. MySQL Client via Console/Terminal
Untuk memutuskan koneksi ke Server
MySQL digunakan perintah “quit”.
32. MySQL Client via Console/Terminal
Terdapat beberapa hal yang harus Anda
pahami terkait pengunaan “mysql>”
prompt yaitu:
a. Sebuah perintah umumnya terdiri dari
statement SQL yang diakhiri dengan tanda
semicolon “;”. Terdapat beberapa
pengecualian dimana tanda semicolon
dapat diabaikan, sebagai contoh perintah
“quit” dapat dieksekusi tanpa diakhiri
dengan tanda “;”.
33. MySQL Client via Console/Terminal
b. 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.
34. 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.
35. MySQL Client via Console/Terminal
d. MySQL menampilkan jumlah baris sebagai
hasil dari eksekusi, dan berapa lama query
tersebut dieksekusi.
36. MySQL Client via Console/Terminal
e. Keyword yang diketikkan dapat
menggunakan huruf apapun (tidak bersifat
case-sensitive).
37. MySQL Client via Console/Terminal
f. Beberapa statement dapat diketikkan pada
sebuah baris dengan ketentuan masing-
masing statement diakhiri dengan tanda
semicolon.
38. MySQL Client via Console/Terminal
g. Perintah tidak harus diketikkan dalam satu
baris.
39. MySQL Client via Console/Terminal
h. Untuk membatalkan eksekusi perintah
yang dimasukkan digunakan “c”.
43. 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).
44. 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.
45. 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.
46. DDL – MANAJEMEN DATABASE
Perintah CREATE DATABASE digunakan
untuk 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 perintah
berikut:
CREATE DATABASE latihan;
47. 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.
48. 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();
49. DDL - MANAJEMEN DATABASE
Untuk menghapus database tertentu
digunakan perintah SQL DROP
DATABASE.
Sintak penulisan perintahnya adalah sbb:
DROP DATABASE nama_database;
Dimana parameter “nama_database”
merupakan nama database yang akan
dihapus. Contoh untuk menghapus
database dengan nama “latihan”:
DROP DATABASE latihan;
50. 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.
51. DDL – MANAJEMEN TABEL
Perintah CREATETABLE 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:
CREATETABLE nama_tabel
(nama_kolom tipe_data) type=jenis_tabel;
52. Storage Engines MySQL
MySQL mendukung beragam jenis storage
engines untuk menangani jenis tabel yang
berbeda.
Storage engines MySQL mendukung baik tabel
yang mampu menangani transaksi maupun yang
tidak mendukung transaksi.
Transaksi merupakan sekumpulan instruksi
atau operasi yang dilakukan secara keseluruhan
atau tidak sama sekali.
Perintah SHOW ENGINES digunakan untuk
mengetahui storage engine yang didukung oleh
server MySQL.
53. Storage Engines MySQL
Adapun beberapa storage engines yang
didukung oleh MySQL adalah sebagai
berikut:
a. MyISAM
b. Memory
c. InnoDB
d. Archive
e. NDB
54. 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.
55. 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
56. Tipe Data MySQL
MySQL mendukung 3 kategori tipe data
yaitu numerik, tanggal & waktu (date &
time), dan karakter (string).
57. Tipe Data Numerik di MySQL
INT, integer yang berukuran normal dapat
bertanda (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 sangat
kecil dapat bertanda (signed) atau tanpa tanda
(unsigned). Jika signed maka memiliki jangkauan
-128 sampai dengan 127, sebaliknya unsigned
maka memiliki jangkauan 0 sampai dengan 255.
Panjang maksimum 4 digit.
58. Tipe Data Numerik di MySQL
SMALLINT, integer yang berukuran kecil
dapat bertanda (signed) atau tanpa tanda
(unsigned). Jika signed maka memiliki jangkauan
-32768 sampai dengan 32767, sebaliknya
unsigned maka memiliki jangkauan 0 sampai
dengan 65535. Panjang maksimum 5 digit.
MEDIUMINT, integer yang berukuran
menengah dapat bertanda (signed) atau tanpa
tanda (unsigned). Jika signed maka memiliki
jangkauan -8388608 sampai dengan 8388607,
sebaliknya unsigned maka memiliki jangkauan 0
sampai dengan 16777215. Panjang maksimum 9
digit.
59. 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.
60. 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.
61. 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.
62. 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.
63. 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.
64. Tipe Data String di MySQL
CHAR(M), string dengan panjang tetap antara 1
sampai dengan 255. M menyatakan panjang
maksimum.
VARCHAR(M), string dengan panjang bervariasi
antara 0 sampai dengan 65.535.
BLOB atau TEXT, sebuah field dengan panjang
maksimum 65.535 karakter. Binary Large Object
(BLOB) digunakan untuk menyimpan data binary
yang besar seperi gambar, atau tipe file lainnya. TEXT
juga dapat menampung data dengan jumlah yang
besar. Perbedaannya terletak pada pengurutan dan
perbandingan data yang disimpan, dimana BLOB
bersifat case-sensitive, sebaliknya TEXT tidak. Panjang
dari BLOB atau TEXT tidak perlu dicantumkan.
65. Tipe Data String di MySQL
TINYBLOB atau TINYTEXT, sebuah field
BLOB atau TEXT dengan panjang maksimum
255 karakter. Panjang dari TINYBLOB atau
TINYTEXT tidak perlu dicantumkan.
MEDIUMBLOB atau MEDIUMTEXT,
sebuah field BLOB atau TEXT dengan panjang
maksimum 16.777.215 karakter. Panjang dari
MEDIUMBLOB atau MEDIUMTEXT tidak perlu
dicantumkan.
LONGBLOB atau LONGTEXT, sebuah
field BLOB atauTEXT dengan panjang
maksimum 4.294.967.295 karakter. Panjang
dari LONGBLOB atau LONGTEXT tidak perlu
dicantumkan.
66. 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’)
67. 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.
68. DDL – MANAJEMEN TABEL
Berikut adalah perintah untuk membuat
tabel dengan ketentuan tersebut:
CREATETABLE produk (
kode_produk CHAR(5),
nama_produk VARCHAR(100),
PRIMARY KEY (kode_produk)
);
69. DDL – MANAJEMEN TABEL
Perintah “SHOWTABLES;” 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.
70. DDL – MANAJEMEN TABEL
Perintah RENAMETABLE digunakan
untuk mengubah nama tabel.
Sintak penulisan perintahnya adalah sbb:
RENAMETABLE
nama_tabel_yang_akan_diubahTO
nama_tabel_baru;
Sebagai contoh perintah untuk mengubah
nama tabel “produk” menjadi “barang”
adalah sbb:
RENAMETABLE produkTO barang;
71. DDL – MANAJEMEN TABEL
Perintah ALTERTABLE digunakan untuk
mengubah nama field pada tabel tertentu.
Sintak penulisan perintahnya adalah sbb:
ALTERTABLE nama_tabel CHANGE
nama_field_lama nama_field_baru
tipe_data batasan;
Sebagai contoh perintah untuk mengubah
nama field “nama_produk” menjadi
“nama_barang” dengan tipe data
“varchar(75)” pada tabel “barang” adalah sbb:
ALTERTABLE barang CHANGE
nama_produk nama_barang varchar(75);
72. DDL – MANAJEMEN TABEL
Perintah DROPTABLE digunakan untuk
menghapus tabel.
Sintak penulisan perintahnya adalah sbb:
DROPTABLE nama_tabel;
Sebagai contoh untuk menghapus tabel
dengan nama “barang” adalah sbb:
DROPTABLE barang;
74. 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.
75. 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, …)
76. 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’);
77. 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 suatu
tabel.
Sintak penulisan perintah UPDATE adalah
sbb:
UPDATE nama_tabel
SET nama_kolom1=nilai1,
[nama_kolom2=kolom2 …]
WHERE
kondisi
78. DML - UPDATE
Sebagai contoh untuk mengubah nilai dari
salah satu record pada tabel “barang”
yang memiliki “kode_barang” sama
dengan “P0001” dengan nilai pada kolom
“kode_barang” menjadi “P0002” dan
kolom “nama_barang” menjadi
“Lifebouy”, adalah sebagai berikut:
UPDATE barang SET
kode_barang=‘P0002’,
nama_barang=‘Lifebouy’ WHERE
kode_barang=‘P0001’;
79. DML - DELETE
Digunakan untuk menghapus satu, beberapa,
atau semua record yang terdapat pada suatu
tabel.
Sintak penulisan perintah DELETE untuk
menghapus seluruh record adalah sbb:
DELETE FROM nama_tabel
Sintak penulisan perintah DELETE untuk
menghapus satu atau beberapa record
berdasarkan kriteria tertentu adalah sbb:
DELETE FROM nama_tabel
WHERE kondisi
Kondisi digunakan untuk membatasi record
mana yang akan dihapus.
80. DDL - DELETE
Sebagai contoh untuk menghapus salah
satu record pada tabel “barang” yang
memiliki nilai “kode_barang“ sama
dengan “P0002”, adalah sbb:
DELETE FROM barangWHERE
kode_barang=‘P0002’;
Klausa WHERE digunakan untuk
memfilter record yang akan dihapus.
81. Manajemen User MySQL
Sintak perintah untuk membuat user baru
adalah sbb:
CREATE USER nama_pengguna
IDENTIFIED BY sandi_pengguna
Format nama_pengguna adalah
‘nama_pengguna’@’hostname’.
Contoh membuat user dengan nama “ali”
yang terkoneksi dari “localhost” dengan
sandi “123456”:
CREATE USER ‘ali’@’localhost’
IDENTIFIED BY 123456
82. 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’;
83. Mengubah Sandi User MySQL
Perintah yang digunakan untuk mengubah
sandi user adalah sbb:
USE mysql;
UPDATE user SET
password=PASSWORD(‘sandi_pengguna’)
WHERE user=‘nama_pengguna’ AND
host=‘nama_host’;
FLUSH PRIVILEGES;
84. Mengubah Sandi User MySQL
Perintah FLUSH PRIVILEGES; digunakan
untuk membaca ulang privilege dari table
grant di database MySQL.
Sebagai contoh untuk mengubah sandi dari
user ‘hasan’@’%’ dengan sandi “mataram”,
adalah sbb:
USE mysql;
UPDATE user SET
password=PASSWORD(‘mataram’)
WHERE user=‘hasan’ AND host=‘%’;
FLUSH PRIVILEGES;
85. 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.
86. 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’];
87. DCL - GRANT
Dimana privileges mengindikasikan ijin akses
yang diberikan ke akun, sebagai contoh privilege
CREATE untuk membuat database, dan tabel.
Anda dapat memberikan beberapa privilege
dalam satu eksekusi perintah, gunakan tanda
koma sebagai pemisah antar ijin akses.
daftar_kolom menspesifikasikan kolom-kolom
dimana ijin akses diterapkan. level_privilege
menspesifikasikan pada level mana ijin akses
diterapkan. akun menspesifikasikan akun yang
akan diberikan ijin aksesnya. password
menentukan sandi yang diberikan ke akun.
88. 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.
89. 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
90. 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’];
91. 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’;
92. 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
93. 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.
94. DCL - REVOKE
Sebagai contoh untuk mencabut seluruh
ijin akses yang diberikan ke user
‘ali’@’localhost’ adalah sbb:
REVOKE ALL PRIVILEGES FROM
‘ali’@’localhost’;
95. 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’;
96. Backup Database MySQL
MySQL menyediakan tool yang sangat
berguna untuk melakukan backup atau
dump database MySQL secara lokal pada
server dengan sangat cepat, yaitu
mysqldump.
File hasil backup akan disimpan pada file
system di server, dan didalamnya memuat
sekumpulan perintah SQL yang digunakan
untuk membuat & memasukkan data ke
dalam tabel-tabel.
97. 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]
98. 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.
99. 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
100. Backup Hanya Struktur dari Database
MySQL
mysqldump dapat digunakan untuk membackup
hanya struktur dari database tanpa disertai
dengan datanya, dan menyimpan hasilnya pada
sebuah file.
Sintak penulisan perintahnya adalah sbb:
mysqldump -u [nama_pengguna]
-p[sandi_pengguna] –d [nama_database]
> [namafile_backup.sql]
Dimana parameter -d digunakan untuk
menentukan hanya struktur dari database yang
akan dibackup tanpa disertai dengan datanya.
101. 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
102. Backup Hanya Data dari Database
MySQL
mysqldump dapat digunakan untuk membackup
hanya data dari database tanpa disertai dengan
struktur databasenya, dan menyimpan hasilnya
pada sebuah file.
Sintak penulisan perintahnya adalah sbb:
mysqldump -u [nama_pengguna]
-p[sandi_pengguna] –t [nama_database] >
[namafile_backup.sql]
Dimana parameter -t digunakan untuk
menentukan hanya data dari database yang akan
dibackup.
103. 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
104. Backup Beberapa Database MySQL
mysqldump dapat digunakan untuk
membackup beberapa database sekaligus, dan
menyimpan 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 untuk
menentukan beberapa nama database yang
akan dibackup.
105. 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
106. 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.
107. 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
108. 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.
110. Materi pembelajaran ini disadur,
diterjemahkan, dan dirangkum dari
beberapa sumber referensi
berikut:
MySQL Tutorial,
http://www.mysqltutorial.org
Learning MySQL,
http://www.tutorialspoint.com
111. ADA PERTANYAAN?
Apabila rekan-rekan menghadapi kendala
ketika mempelajari materi-materi pada
modul ini, jangan segan untuk
mengirimkannya melalui email ke alamat
berikut:
admin@iputuhariyadi.net