Professional Documents
Culture Documents
Tujuan:
1. Mengenal Database dan DBMS
2. Mengenal MySQL
3. Bisa menjalankan MySQL Server dan Client
Sebagai contoh user yang bernama 'uun' dengan password 'kbmokbos' akan melakukan koneksi ke
database server MySQL, maka yang dilakukan:
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Ketika sudah terjadi koneksi, maka akan ditampilkan prompt mysql, yang artinya bahwa klien sudah siap
untuk meminta request/layanan kepada server, dan server pun sudah siap untuk melayani permintaan
dari klien.
Prompt Arti
Jika database server belum dijalankan, maka akan ditampilkan pesan berikut:
Database sudah dijalankan, tapi password yang dimasukkan salah atau user tidak dikenal:
Berikut tampilan yang dihasilkan jika kita memberikan perintah help atau \h dengan diikuti ENTER.
BAB 2
Tujuan:
1. Mengetahui dan Mengenal Bahasa SQL beserta pembagiannya
2. Menggunakan Bahasa SQL
3. Mengenal dan Menggunakan Sub Bahasa DDL (Data Definition Language)
Mengelola Database
Sebelum kita membuat suatu tabel yang digunakan untuk menyimpan data, maka harus terlebih dahulu
dibuat database yang merupakan kumpulan atau berisi tabel-tabel yang saling berhubungan dengan
menggunakan kunci-kunci yang ditentukan. Tapi bagaimana caranya memerintahkan mysql untuk
membuat database, tabel, dan lainnya yang kita perlukan.
Untuk itu kita perlu untuk mempelajari bahasa gaul yang akan digunakan untuk berkomunikasi dengan
MySQL. Bahasa ini disebut dengan SQL (Structured Query Language) dan orang sering
mengakronimnya dengan “sequel”. SQL merupakan bahasa standar untuk pengolahan database. Ini
berarti bahwa DBMS yang lain juga mengenal bahasa gaul ini. Walau ada beberapa istilah yang di salah
satu DBMS tidak dikenal, tapi dikenal di DBMS yang lain.
Di dalam bahasa SQL, perintah dibedakan menjadi 3 sub bahasa:
a. DDL (Data Definition Language)
b. DML (Data Manipulation Language)
c. DCL (Data Control Language)
Dalam pembuatan database perlu perhatikan penulisan nama database tidak boleh menggunakan
spasi dan karakter non standar. Bentuk penulisan perintah untuk membuat database baru adalah
create database <nama_database>;
mysql> create database perpustakaan;
Untuk memastikan bahwa database yang kita buat sudah jadi, perintahkan show databases, sehingga
semua database yang ada di server dan bisa diakse oleh user akan ditampilkan.
Untuk membuktikan bahwa kita berhasil, maka tabel yang ada database bisa kita tampilkan dengan
cara:
Pada hasil perintah diatas ditampilkan, bahwa tabel yang sudah ada di database perpustakaan adalah
buku. Untuk menampilkan struktur dari tabel buku, perintahkan:
id_buku : menyimpan no_id tidap buku walaupun judulnya sama, sifatnya unik. Dan semua field yang
lain bergantung hanya kepada id_buku. Karena itu field ini dijadikan primary key.
index_buku : digunakan untuk menyimpan indeks setiap judul buku yang tiap judul bukunya tersimpan
di dalam tabel judul_buku yang akan kita buat berikutnya.
no_urut : digunakan untuk menyimpan no_urut buku no_urut buku untuk judul yang sama.
referensi : digunakan untuk mengetahui apakah buku boleh dipinjam/dibawa keluar atau tidak, jika
boleh maka nilainya 0 jika tidak maka nilainya 1. Seperti ini apabila tiap judul buku ada yang boleh
dibawa keluar ada yang tidak. Seandainya setiap judul buku yang sama memiliki kondisi referensi yang
sama, maka field ini dimasukkan kedalam tabel judul_buku.
index_buku : buku dengan judul, pengarang, penerbit, dan edisi yang sama akan memiliki index yang
sama.
Tabel Kelompok
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kd_kelompok | smallint(3) | | PRI | 0 | |
| kelompok | varchar(20) | | | | |
+-------------+-------------+------+-----+---------+-------+
Tabel Penerbit
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| id_penerbit | varchar(5) | | PRI | | |
| penerbit | varchar(20) | YES | | NULL | |
| kota | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
Tabel Pengarang
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| id_pengarang | varchar(5) | | PRI | | |
| nama | varchar(30) | | | | |
+--------------+-------------+------+-----+---------+-------+
Tabel Anggota
+---------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+-------------+------+-----+---------+-------+
| kd_anggota | varchar(7) | YES | | NULL | |
| nama_anggota | varchar(50) | YES | | NULL | |
| tgllahir | date | YES | | NULL | |
| jklmn | tinyint(1) | YES | | NULL | |
| alamat | varchar(50) | YES | | NULL | |
| no_hp | varchar(12) | YES | | NULL | |
| no_telp | varchar(15) | YES | | NULL | |
| tmp_lahir | varchar(20) | YES | | NULL | |
| Sekolah_Universitas | varchar(30) | | | | |
+---------------------+-------------+------+-----+---------+-------+
Tabel Peminjam
+-------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+-------+
| id_anggota | varchar(7) | | | | |
| id_buku | varchar(5) | | | | |
| tgl_pinjam | date | YES | | NULL | |
| tgl_kembali | date | YES | | NULL | |
+-------------+------------+------+-----+---------+-------+
Merubah dan Memodifikasi Tabel
Terkadang ketika kita, sedang membuat tabel, ternyata ada nama field yang kurang, atau
nama_fieldnya susah dipahami, atau bisa juga type data serta ukurannya tidak/ kurang sesuai.
Sekarang coba kita perhatikan tabel yang sudah kita buat sebelumnya.
Pada tabel buku terdapat field id_buku dengan type bigint ukurannya 5, sedangkan pada tabel
peminjam id_buku typenya varchar ukurannya 5. Ini tidak sama, bisa-bisa timbul kekacauan ini…
+-------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------+------+-----+---------+-------+
| id_anggota | varchar(7) | | | | |
| id_buku | bigint(5) | YES | | NULL | |
| tgl_pinjam | date | YES | | NULL | |
| tgl_kembali | date | YES | | NULL | |
+-------------+------------+------+-----+---------+-------+
Perhatikan field index_buku pada tabel buku dan pada tabel judul_buku, ukurannya juga berbeda, nah
sekarang tugas Anda/Antum semuanya adalah menyamakan dengan ukuran 15 pada tabel judul_buku.
Sudah tahu caranya? (masa gitu aja gak tahu, sich)
Sudah tahu tugas berikutnya? Nah... Ubahlah field index_buku yang ada di tabel judul_buku dengan
id_judul. Ubah juga field yang berawalan dengan kd dengan id, misalnya kd_penerbit menjadi
id_penerbit. Ini hanya untuk melatih cara merubah nama field serta untuk menyeragamkan penamaan
saja. Selain itu, ubah juga field sekolah_universitas menjadi sekolah saja. Untuk apa panjang-panjang,
universitas juga sekolah kan? Apakah SD itu universitas? Kenapa nggak sekolah_sma, atau sekolah_lpk, atau sekolah_stmik
saja, kenapa sekolah_universitas? he... he... he... :)
Menambah Field
Kalau kita perhatikan tabel penerbit, dengan tabel manakah tabel ini berhubungan? Kalau tabel
pengarang berhubungan dengan tabel judul_buku menggunakan field kd_pengarang / id_pengarang
(jika sudah diganti). Sehingga untuk mengetahui nama pengarang dari suatu judul buku tinggal
menghubungkan tabel judul_buku dengan pengarang menggunakan field kunci id_pengarang.
Harusnya tabel penerbit diperlukan juga oleh tabel judul_buku untuk mengetahui nama penerbit dari
suatu judul buku. Tapi jangan khawatir, SQL punya juga bahasa yang digunakan untuk
menambah/menyisipkan field kedalam suatu tabel.
Perintah di atas digunakan untuk menyisipkan field id_penerbit ke dalam tabel judul_buku diletakkan
setelah field judul. Untuk membuktikan, tampilkan saja struktur tabel judul_buku.
Menghapus Field
Di dalam tabel anggota, kita bisa melihat di sana terdapat field no_hp dan no_telp. Perlukah kedua-
duanya disimpan? Tidak semua anggota punya no. hp, dan tidak pula semuanya memiliki no. telpon.
(macam mana pula ini, kok disimpan semuanya? ini pemborosan namanya. instruksi presiden kan disuruh hemat energi. Lho...
kok sampai bbm?) Untuk menghapus field no_hp gunakan perintah berikut:
Menghapus Tabel
struktur perintah:
drop table <nama_table>
contoh:
Menghapus Database
struktur perintah:
drop database <nama_table>
contoh:
Coba sekarang tampilkan semua tabel yang ada di dalam database, atau tampilkan semua database
yang ada di dalam server, masih adakah tabel atau database yang diberlakukan padanya perintah
drop? Jika perintah yang dilakukan sesuai dengan aturannya (syariat) tanpa mengurangi ataupun
menambahnya (dengan kebid'ahan-kebid'ahan), pasti akan mendapatkan hasilnya (pahalanya)sesuai yang sudah
disebutkan (dijanjikan, kecuali jika ada kesalahan penulisan maka diluar tanggung jawab percetakan. lho...?).
BAB 3
Tujuan:
1. Mengenal Sub Bahasa DML (Data Manipulation Language)
2. Menggunakan Sub Bahasa DML
3. Mengenal Sub Bahasa DCL (Data Control Language)
Ataupun
Mengimport Tabel
MySQL mempunyai fasilitas yang dapat kita gunakan untuk mengimport data tabel dari file lain
dengan format teks.
Kita lanjutkan dengan tabel yang lain dengan cara yang lain lagi. Untuk tabel judul buku, buatlah
file teks (bisa menggunakan kwrite di linux, atau kalau di windows bisa pakai notepad atau editor
teks yang lain) data berikut:
Setelah file dibuat, simpanlah di tempat yang jelas (sebagai contoh di /home/uunboy/ dengan
nama ). Selanjutnya jalankan perintah:
load data infile "/home/uunboy/buku" into table judul_buku fields terminated by ",";
Tabel Pengarang
+--------------+----------------------------+
| id_pengarang | nama |
+--------------+----------------------------+
| HENWI | Ir. Hendra Wijaya |
| MUHAB | Muhammad Ahmad Abdul Salam |
| RIDSJ | Ridwan Sanjaya S.Kom |
| BETSI | Betha Sidik |
| FIRUT | Firrar Utdirartatmo ST MT |
| IBNQA | Ibnul Qayyim Aljauziah |
| LIMPH | Lim Phek Yiong |
| ABDKD | Abdul Kadir |
| JOGIY | Jogiyanto |
+--------------+----------------------------+
Tabel Kelompok
+-------------+----------------------+
| kd_kelompok | kelompok |
+-------------+----------------------+
| 110 | Aqidah |
| 111 | Fikih |
| 112 | Muamalah |
| 113 | Ibadah |
| 211 | Komputer Database |
| 212 | Pemrograman Database |
| 213 | Pemrograman Web |
| 214 | Pemrograman Akutansi |
+-------------+----------------------+
BAB 4
Tujuan:
1. Menggunakan Bahasa SQL dengan dua tabel atau lebih
BAB 5
Tujuan:
1. Menggunakan Bahasa SQL dengan dua tabel atau lebih
2. Mengenal dan Menggunakan Fungsi Agregat
3. Mengelompokan dan Mengurutkan Tabel
4. Membatasi hasil Query
Fungsi Agregat
Fungsi agregat merupakan fungsi yang disediakan oleh SQL untuk melakukan ringkasan data, bukan
menampilkan data per record.
a. sum(nama_field)
Fungsi sum() digunakan untuk melakukan penjumlahan isi field yang bertipe numerik yang namanya
disebutkan pada namafield yang dijadikan parameter pada fungsi sum().
select sum(thn_terbit) from judul_buku;
+-----------------+
| sum(thn_terbit) |
+-----------------+
| 14020 |
+-----------------+
Perintah diatas digunakan untuk menampilkan jumlah dari tahun terbit yang ada pad tabel judul_buku.
(masa..., tahun kok dijumlahkan??? ya... itu merupakan contoh perintah yang benar, jika dijalankan tidak muncul peringatan
salah. Tapi merupakan perintah yang salah penggunaannya. Sekali lagi ini hanya contoh saja. Tetapi ini jangan diamalkan
dalam kehidupan nyata. Masih banyak amalan yang lain, yang amalan itu merupakan amalan yang sunnah atau baik, tapi
penempatannya tidak benar. Kita harus hati-hati dengan hal ini... ????? :) Kalau jumlahnya gak sama jangan nangis ya... yang
bener yang ada di komputer... masa komputer salah... kalo usernya, atau db administratornya mungkin...:) ).
b. count(nama_field)
Fungsi ini dimaksudkan untuk mengetahui jumlah record dari suatu tabel, berdasarkan kondisi yang
disertakan. Jika kondisi tidak ditulis, maka akan ditampilkan jumlah (semua) record dari tabel. Parameter
yang disertakan bisa berupa nama field boleh juga diganti dengan tanda *.
Untuk mengetahui jumlah anggota yang terdaftar, maka kita bisamenggunakan perintah berikut ini:
c. avg(nama_field)
Fungsi ini dipakai untuk memperoleh nilai rata-rata suatu field yang bertipe numerik yang nama fieldnya
disebutkan sebagai parameter.
d. max(nama_field)
Dengan menggunakan fungsi max, kita akan mendapatkan nilai terbesar dari field yang bertipe numerik,
yang nama fieldnya dituliskan dalam parameter. Kebalikan dari fungsi ini adalah min(nama_field).
Kalau kita ingin mengetahui tanggal lahir anggota yang termuda, maka kita bisa menggunakan perintah:
Kalau hanya seperti itu..., hanya muncul tanggalnya saja, kalau pingin tahu siapa namanya gimana?
Sabar dulu... itu nanti... Bukankah Nabi Yakub telah bersabar dalam menghadapi putra-putranya? Bukankah Nabi Yusuf pun
telah bersabar untuk menghadapai berbagai cobaan? Mulai dari perlakuan saudara-saudaranya, cobaan dengan seorang
wanita, dan cobaan akan kekuasaan. Maaf, ini hanya selingan saja....
Mengurutkan Data
Order By adalah solusi yang bisa kita gunakan untuk mengurutkan data.
Misalkan kita akan menampilkan data anggota urut berdasarkan nama:
select nama_anggota,tmp_lahir,tgllahir from anggota order by nama_anggota;
Untuk mengurutkan berdasarkan tanggal lahir, caranya:
select nama_anggota,tmp_lahir,tgllahir from anggota order by tgllahir;
Menampilkan data jumlah anggota tiap-tiap kota tempat lahir urut dari jumlah terkecil sampai terbesar
dan urut berdasarkan nama kota tempat lahir:
BAB 6
Tujuan:
1. Menggunakan Program Klien dari Prompt Sistem Operasi
2. Mengenal dan Menggunakan Fungsi di dalam MySQL
3. Menggunakan Fungsi Sistem, dan Fungsi Agregat
Program klien MySQL dari prompt Sistem Operasi
Keluarlah dari mysql, dan masuklah ke konsole. Kemudian jalankan perintah-perintah berikut, dan buat
kesimpulannya:
mysql -e "select * from pengarang" perpustakaan -uroot -p
mysql -e "select * from judul_buku" perpustakaan -uroot -p
mysql -e "delete from judul_buku" perpustakaan -uroot -p
mysql -e "load data infile '/home/uunboy/judul' into table judul_buku fields
terminated by ','" perpustakaan -uroot -pbismillah
mysqlshow -uroot -p
mysqlshow perpustakaan -uroot -p
mysqlshow perpustakaan anggota -uroot -p
Fungsi
Fungsi adalah suatu rutin khusus yang disediakan oleh MySQL untuk melakukan manipulasi suatu data.
Fungsi digunakan sebagai bagian dari suatu perintah SQL (select). Secara umum fungsi dinyatakan
dalam sQL select adalah sebagai berikut:
SELECT fungsi(ekspresi) [FROM namatabel];
Penulisan fungsi dalam MySQL adalah case insensitive.
Fungsi dalam MySQL dibedakan menjadi:
a. Fungsi Sistem
Kelompok ini digunakan untuk memberikan informasi tentang pemakaian server database oleh pemakai.
DATABASE()
LAST_INSERT_ID()
SESSION_USER()
SISTEM_USER()
USER()
VERSION()
BENCHMARK(x,ekspresi)
LOAD_FILE(namafile)
b. Fungsi Agregat
Fungsi Agregat digunakan untuk melakukan summary, merupakan fungsi statistik standar yang
dikenakan pada suatu tabel atau query.
AVG(ekspresi)
COUNT(x)
MAX(ekspresi)
MIN(ekspresi)
MAX(ekspresi)
STD(ekspresi)
STDEV(ekspresi)
SUM(ekspresi)
BAB 7
Tujuan:
1. Mengenal dan Menggunakan Fungsi Aritmatika
2. Mengenal dan Menggunakan Fungsi String
3. Mengenal dan Menggunakan Fungsi Tanggal
4. Mengenal dan Menggunakan Fungsi Logika
c. Fungsi Aritmatika
Menggapai Ilmu Menuju Rahmat 15
Fungsi Aritmatika dipakai untuk melakukan manipulasi data numerik, seperti penjumlahan(+),
pengurangan(-), perkalian(*), dan pembagian(/), sisa hasil bagi(%) yang disertakan dalam perintah
select, atau biasa dikenal dengan istilah operator aritmatika.
Selain operator-operator di atas, ada juga fungsi aritmatika yang lain, yang dapat digunakan untuk
kebutuhan yang lebih kompleks dalam memanipulasi data secara aritmatik.
ABS(x) LOG(x)
ACOS(x) LOG10(x)
ASIN(x) MOD(x,y)
ATAN(x) OCT(x)
ATAN2(x) PI()
BIN(x) POW(x,y)
CEILING(x) POWER(x,y)
CONV(x,daribasis, kebasis) RADIANS(x)
COS(x) RAND()
COT(x) ROUND(x)
DEGREES(x) ROUND(x,y)
EXP(x) SIGN(x)
FLOOR(x) SIN(x)
FORMAT(num,dec) SQRT(x)
GREATEST(x,y,...) TAN(x)
HEX(x) TRUNCATE(x,y)
LEAST(x,y,z,...)
d. Fungsi String
Fungsi string digunakan untuk melakukan manipulasi data teks(string). MySQL menyediakan banyak
fungsi built in untuk melakukan manipulasi teks ini.
ASCII(x) LTRIM(x)
CHAR(x,y,z,...) MID(x,y,z)
COALESCE(ekspresi1,ekspresi2,...) PASSWORD(password)
CONCAT(x,y,z,...) POSITION(x,y)
DECODE(string_biner,string_enkripsi) REPEAT(x,y)
ELT(x,a,b,c,...) REPLACE(x,y,z)
ENCODE(word,string_enkripsi) REVERSE(x)
ENCRYPT(word[,seed]) RIGHT(string,length)
FIELD(x,y,z,...) RPAD(x,y,z)
FIND_IN_SET(x,stringlist) RTRIM(x,y,z)
INSERT(x,y,z,j) SOUNDEX(x)
INSTR(x,y) SPACE(x)
LCASE(x) STRCMP(x)
LEFT(x,y) STRCMP(string1,string2)
LENGTH(x) SUBSTRING_INDEX(x,y,z)
LOAD_FILE(namafile) TRIM([[BOTH OR LEADING or TRAILING][x]
LOCATE(x,y,z) FROM] y)
LOWER(x) UCASE(x)
LPAD(x,y,z) UPPER(x)
e. Fungsi Tanggal
tanggal dalam MySQL menggunakan tanggal dari sistem UNIX, tidak ada masalah sampai dengan
tahun 2069. Semua tahun yang ditulis dengan dua digit diasumsikan tahun tersebut ada pada range
tanggal antara tahun 1970 sampai 2069.
Fungsi Logika
Fungsi logika digunakan untuk melakukan evaluasi suatu ekspresi.
IF(ekspresi1,ekspresi2,ekspresi3)
IFNULL(ekspresi1,ekspresi2)
ISNULL(ekspresi)
BAB 8
Tujuan:
1. Mengadministrasi Database MySQL
2. Mengatur Hak Akses User
Data organisasi atau perusahaan sebaiknya tidak bisa dilihat oleh semua anggota, user atau pegawai,
hanya orang tertentu saja yang diberi hak untuk mengetahui dan menggunakan untuk kepentingan
analisis dan pengambilan keputusan.
Privilege adalah hak dan wewenang yang diberikan kepada pemakai yang telah didefinisikan untuk
dapat mengakses dan mengelola database MySQL. Dalam bahasa yang lebih sederhana adalah hak
akses atau permission.
Superuser database MySQL adalah penanggung jawab dan pengelola database MySQL dengan level
tertinggi, superuser akan menentukan privilege dari setiap pemakai. Privilege mengatur hak mengakses
database, data mana saja yang boleh diakses, dari mana saja bisa mengaksesnya.
Dalam istilah database secara umum superuser database sering disebut dengan administrator database
atau system manager, tergantung pada database yang digunakan. Dalam MySQL superuser bernama
root.
MySQL menggunakan tabel-tabel khusus untuk melakukan pengelolaan pemakai dari privilegenya yang
tersimpan di dalam database dengan nama mysql.
use mysql;
show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
Tabel columns_priv
Tabel ini digunakan untuk menyimpan informasi privilege pemakai sampai dengan level field.
mysql> desc columns_priv;
+-------------+----------------------------------------------+-----+---+----+------+
| Field | Type |Null |Key|Defa|Extra |
+-------------+----------------------------------------------+-----+---+----+------+
| Host | char(60) binary | |PRI| | |
| Db | char(64) binary | |PRI| | |
| User | char(16) binary | |PRI| | |
| Table_name | char(64) binary | |PRI| | |
Menggapai Ilmu Menuju Rahmat 17
| Column_name | char(64) binary | |PRI| | |
| Timestamp | timestamp(14) | YES | |NULL| |
| Column_priv | set('Select','Insert','Update','References') | | | | |
+-------------+----------------------------------------------+-----+---+----+------+
Tabel db
Berisi informasi database mana saja yang bisa diakses oleh setiap pemakai, dan dari komputer mana.
mysql> desc db;
+-----------------------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------+------+-----+---------+-------+
| Host | char(60) binary | | PRI | | |
| Db | char(64) binary | | PRI | | |
| User | char(16) binary | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+-----------------+------+-----+---------+-------+
Tabel func
mysql> desc func;
+-------+------------------------------+------+-----+----------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------------------+------+-----+----------+-------+
| name | char(64) binary | | PRI | | |
| ret | tinyint(1) | | | 0 | |
| dl | char(128) | | | | |
| type | enum('function','aggregate') | | | function | |
+-------+------------------------------+------+-----+----------+-------+
Tabel host
Digunakan untuk menyimpan informasi kompyuter mana saja yang dapat mengakses database MySQL,
siapa nama pemakainya.
mysql> desc host;
+-----------------------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------+------+-----+---------+-------+
| Host | char(60) binary | | PRI | | |
| Db | char(64) binary | | PRI | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
+-----------------------+-----------------+------+-----+---------+-------+
Tabel tables_priv
Tabel ini menyimpan informasi privilege pemakai pada level tabel
mysql> desc tables_priv;
+-------------+-------------------------+------+-----+---------+-------+
| Field | Type
| Null | Key | Default | Extra |
+-------------+-------------------------+------+-----+---------+-------+
| Host | char(60) binary | | PRI | | |
| Db | char(64) binary | | PRI | | |
| User | char(16) binary | | PRI | | |
| Table_name | char(60) binary | | PRI | | |
| Grantor | char(77) | | MUL | | |
| Timestamp | timestamp(14) | YES | | NULL | |
BAB 9
Tujuan:
1. Backup, Restore, dan Import, Eksport data di MySQL
contoh:
SELECT * FROM anggota INTO OUTFILE “anggota.txt”
cara lain:
Menyalin dan membaca kembali isi database ke dalam dan dari perintah SQL
Menyalin dan membaca kembali isi database ke dalam dan dari satu server ke server lain.
Sintaks :
mysqldump dbygdibackup | mysql --host=namaserver dbpenampung