Anda di halaman 1dari 14

DBMS

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel.
Perintah yang umum dilakukan adalah:

- SELECT untuk menampilkan data

- INSERT untuk menambahkan data baru

- UPDATE untuk mengubah data yang sudah ada

- DELETE untuk menghapus data

Sedangkan MySQL adalah sebuah perangkat lunak sistem manajemen basis


data atau DBMS (Database Management System) yang multithread, multi-user,
dengan sekitar 6 juta instalasi di seluruh dunia. MySQL dapat Anda dapatkan
secara gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka
juga menjual dibawah lisensi komersial untuk kasus-kasus di mana penggunaannya
tidak cocok dengan penggunaan GPL. Selain MySQL, Anda juga mungkin pernah
mendengar perangkat lunak DBMS lainnya seperti : Microsoft SQL Server,
Sybase, Interbase, XBase, Firebird, PostgreSQL, Microsoft Access, dBase III,
Paradox, FoxPro, Visual FoxPro, Visual dBase, Lotus Smart, db2, MongoDB dan
lain-lain.

Jadi Bisa disimpulkan secara sederhana bahwa SQL adalah struktur bahasa
untuk mengakses database, sedangkan MySQL adalah salah satu aplikasi database
atau software untuk memanajemen database.

Berikut adalah beberapa keunggulan dari MySQL, antara lain :

1. Portabilitas

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux,
FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Open Source

MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi


GPL sehingga dapat digunakan secara gratis.
3. Multi User

MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik.

4. Performance Tuning

MySQL memiliki kecepatan yang menakjubkan dalam menangani query


sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Ragam tipe data

MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain.

6. Perintah dan Fungsi

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah
Select dan Where dalam perintah (query).

7. Keamanan

MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host,
dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan

MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman
(records) lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas
indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

9. Konektivitas

MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP,


Unix soket (UNIX), atau Named Pipes (NT).

10.Lokalisasi

MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih
dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di
dalamnya.
11.Interface

MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API (Application Programming
Interface).

12.Clients dan Tools

MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk
administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk
online.

13.Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER
TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

Sejak diakuisisinya MySQL oleh Oracle pada September 2010, Monty


Program sebagai penulis awal kode sumber MySQL memisahkan diri dari
pengembangan dan membuat versi yang lebih mandiri yakni MariaDB. MariaDB
merupakan versi pengembangan terbuka dan mandiri dari MySQL. (*)

Tipe tipe tabel di MySQL

1. MyISAM
Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Jika kita akan
menyimpan data sederhana yang tidak terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama
MyISAM adalah kecepatan dan kestabilannya.

MyISAM adalah storage enggine yang sering digunakan dalam website, data warehouse, dan model
aplikasi lainnya. MyISAM adalah tipe default storage engine  dalam MySQL. sedangkan InnoDB sering
dikenal karena mempunyai fitur transaksi, seperti commit, rollback dan crash recovery layaknya oracle.

Disamping itu juga mempunyai fitur tabel relasi dan integritas. Jika kita memilih tipe tabel MyISAM,
maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :

1. MyISAM static.
Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti
(fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan BLOB.
Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil.
.
2. MyISAM dymanic.
Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom
VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih
efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom (field).
.
3. MyISAM Compressed
Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM
Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel
yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.

Keunggulan

 Lebih cepat pada proses pembacaan, sangat dianjurkan jika table sering terjadi proses
pembacaan Mendukung Pengindeksan teks lengkap.
 Lebih cepat daripada InnoDB pada keseluruhan, baik penyimpanan data ataupun konsumsi
memory RAM sebagai akibat dari strukturnya yang sederhana sehingga jauh lebih sedikit
konsumsi sumber daya server
 Sederhana untuk perancangan sehingga memudahkan bagi pemula.
 Kapasitas yang tertampung bisa lebih besar dibanding engine InnoDB. Sekitar 256TB

Kekurangan 

 Tidak mendukung integritas data, sehingga untuk proses integritas data dilakukan secara
program bukan di databasenya.
 Tidak mendukung transaksi seperti commit, rollback ataupun crash recovery.
 Lebih lambat dibanding InnoDB jika proses yang sering terjadi adalah insert atau update.
2. InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki
beberapa keunggulan dan kekurangan, antara lain:

Keunggulan

 Mendukung integritas data secara penuh dengan adanya foreignkey.


 Mampu melakukan penguncian (locking) pada tingkatan record dan juga mampu membaca pada
perintah SELECT yang tidak dikunci (mirip dengan kemampuan Oracle)
 Secara keseluruhan jumlah recordnya mencapai lebih dari 20 milyar record.  
 Jumlah query yang dilayani mencapai rata-rata 800 proses insert/update per detiknya.
 Mendukung transaksi seperti commit, rollback ataupun crash recovery.
 Mendukung transaksi antar tabel.

Kekurangan 

 Karena InnoDB mementingkan integritas, maka proses perancangan tentu membutuhkan usaha
yang lebih besar.
 Mengkonsumsi sumber daya sistem lebih besar baik dalam penyimpanan maupun memory
RAM.
 Proses pembacaan data lebih lambat dibanding engine MyISAM. 
 Tidak mendukung pengindeksan teks penuh.

3. HEAP 
Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM
(memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis
akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.
4. BDB
Setiap tabel BDB disimpan pada disk dalam dua file. File memiliki nama yang dimulai dengan
nama tabel dan memiliki ekstensi untuk menunjukkan jenis file. Sebuah .frm toko file format tabel,
dan .db file berisi data tabel dan indeks.
5. Archieve
Bila teman-teman membuat tabel Archieve tabel, server menciptakan sebuah file format tabel
dalam direktori database. File dimulai dengan nama tabel dan memiliki .frm ekstensi. Mesin
penyimpanan menciptakan file lainnya, semua memiliki nama yang diawali dengan nama tabel.
Pada MySQL 5.1.6, yang Archieve mesin mendukung Auto_Increment kolom atribut. The
Auto_Increment kolom dapat memiliki indeks yang unik atau nonunique. Mencoba untuk membuat
indeks pada setiap hasil kolom lain dalam kesalahan.
6. CSV
Tipe tabel ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan
koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
7. NDB Table
Untuk menggunakan NDB database kemungkinan perubahan skema, permintaan, dan aplikasi. Selain
itu, dari MySQL 5.1.24 dan seterusnya, sehingga standar mysqld tidak bisa berfungsi sebagai pengganti
dropin untuk versi mysqld yang disertakan dengan MySQL Cluster.
8. Federated
(External Tables). Tipe ini tersedia sejak MySQL versi 5.0.
Mengenai Tipe tipe tabel di MySQL semogah dapat membantu teman-teman dalam mempelajari
databases khususnya MySQL.

Tipe-Tipe Data pada MySQL


Pada artikel kali ini saya akan membahas mengenai Tipe-Tipe Data pada MySQL, namun
sebelum membahas lebih jauh tentang tipe-tipe data ada baiknya kita mengenal apa itu tipe
data ? Tipe data merupakan jenis nilai yang bisa ditampung pada suatu variable, bisa berupa
angka (numerik), teks, ataupun berupa gambar. Dengan begitu kita dapat menentukan tipe data
yang nantinya akan mempermudah dalam pengaturan suatu tabel.

Berikut ini adalah beberapa tipe data pada MySQL :

1. Tipe Data Angka (Numerik).


Tipe Data Angka (Numerik) merupakan tipe data yang dapat kita gunakan pada suatu variabel
konstanta yang dapat menyimpan nilai berupa angka. Pada tipe data angka terbagi menjadi
beberapa jenis seperti pada kolom tabel dibawah ini.
2. Tipe Data Teks (String).
Tipe Data Teks (String) merupakan tipe data yang bisa kita gunakan untuk menampung banyak
karakter dengan jumlah maksimum data yang dapat ditampung yakni sebanyak 255 karakter.
Dibawah ini ada beberapa jenis-jenis tipe data string yang terdapat pada Database MySQL.
3. Tipe Data Date.
Tipe Data Date digunakan untuk menyimpan data tanggal dengan format tahun, bulan, tanggal.
Beberapa jenis tipe data date yang dapat digunakan.

4. Tipe Data BLOB.


Tipe Data BLOB merupakan tipe data yang dapat digunakan untuk menampung gambar, musik,
video dan lain-lain nya.

Baik, itulah tadi Tipe-Tipe Data pada MySQL, semoga bermanfaat dan selamat mencoba.

Dasar Penulisan Query MySQL


Setelah koneksi ke MySQL Server dan MySQL Client berhasil, saatnya kita mempelajari
perintah-perintah MySQL. Untuk  Tutorial Belajar MySQL: Dasar Penulisan Query MySQL
ini kita akan mempelajari format dan cara penulisan perintah (query) MySQL dengan cmd
Windows, dan beberapa tata cara penulisan (syntax) MySQL.
Menjalankan Perintah (query) MySQL
Setiap perintah, atau sering juga disebut “query” di dalam MySQL harus diakhiri dengan tanda
titik koma “;” dan akan dieksekusi setelah tombol Enter ditekan. Selama query
MySQL belum diakhiri dengan “;” maka itu dianggap masih dalam satu perintah.

Ketika kita menjalankan sebuah perintah MySQL (query), query tersebut akan dikirim
dari MySQL Client ke MySQL Server untuk di proses, setelah proses selesai, hasilnya akan
dikirim kembali ke MySQL Client.

Agar lebih mudah memahami query MySQL, kita akan langsung praktek beberapa query
sederhana. Silahkan jalankan MySQL Server dan masuk sebagai user root dari MySQL Client
(tutorialnya telah kita bahas pada Tutorial Belajar MySQL: Cara Menjalankan MySQL Server,
dan Tutorial Belajar MySQL: Cara Menjalankan MySQL Client).

Setelah masuk ke dalam MySQL Client (ditandai dengan awalan mysql> pada jendela cmd), kita
akan mencoba beberapa perintah MySQL sederhana. Ketikkan perintah berikut: SELECT
NOW(); lalu akhiri dengan Enter pada keyboard.

1
mysql> SELECT NOW();
2

3+---------------------+

4| NOW()               |

5+---------------------+

6| 2014-11-13 09:21:08 |
+---------------------+
7
1 row in set (0.69 sec)
8

Contoh query diatas adalah untuk menampilkan tanggal dan waktu saat ini dengan
fungsi NOW(). Query tersebut akan menghasilkan hasil yang berbeda-beda tergantung saat anda
menjalankannya.

Perintah SELECT kebanyakan digunakan untuk proses pembacaan data dari database, tetapi
juga dapat digunakan untuk menampilkan hasil dari fungsi tambahan, seperti fungsi NOW(),
yang kita coba kali ini. Hasil query MySQL akan ditampilkan dalam bentuk tabel
pada cmd windows, hasil ini dikirim dari MySQL Server.

Selain hasil dalam bentuk tabel, hampir setiap perintah query, MySQL juga akan menampilkan
banyaknya baris yang dipengaruhi dan lamanya waktu eksekusi. Pada contoh kita diatas,
ditampilkan keterangan: 1 row in set (0.00 sec). Keterangan ini berarti query kita diproses selama
0 detik (0 second), dan mempengaruhi 1 baris (1 row). o detik disini bukan berarti query tersebut
akan tampil seketika, namun karena perintah yang sederhana, MySQL (mungkin) hanya
membutuhkan waktu 0,001 sekian detik untuk memproses (dibulatkan menjadi 0,00).

Sebagai contoh query lainnya, kita akan mencoba untuk menampilkan nama user yang sedang
aktif dan versi MySQL Server yang digunakan pada saat ini. Untuk menampilkan keterangan ini,
MySQL menyediakan fungsi USER() dan VERSION()

1
mysql> SELECT NOW(),USER(),VERSION();
2

3+---------------------+----------------+------------+

4| NOW()               | USER()         | VERSION()  |

5+---------------------+----------------+------------+

6| 2014-11-13 09:21:37 | root@localhost | 5.6.21-log |


+---------------------+----------------+------------+
7
1 row in set (0.11 sec)
8

Dapat dilihat dari contoh query tersebut, untuk setiap fungsi dipisahkan dengan tanda koma “,”.

Penulisan perintah (query) MySQL juga tidak harus dalam satu baris. Misalnya, kita bisa
menjalankan query berikut:

1 mysql> SELECT NOW(),

2     -> USER(),
    -> VERSION();
3

4
+---------------------+----------------+------------+
5
| NOW()               | USER()         | VERSION()  |
6
+---------------------+----------------+------------+
7
| 2014-11-13 09:22:50 | root@localhost | 5.6.21-log |
8
+---------------------+----------------+------------+
9 1 row in set (0.00 sec)
10

Setelah fungsi NOW() pertama, tekan Enter untuk pindah baris, lalu ketikkan perintah
sambungannya. Selama kita belum mengakhiri perintah tersebut dengan “;”, maka MySQL
menganggap baris berikutnya adalah sambungan dari baris sebelumnya. Pemisahan perintah
seperti diatas akan sangat berguna jika kita menuliskan query yang panjang, sehingga lebih
mudah dibaca. Tanda mysql> akan berubah menjadi -> selama kita belum mengakhiri query
tersebut dengan tanda titik koma “;”.

Jika kita telah membuat query MySQL, namun memutuskan untuk membatalkannya, dapat
dilakukan dengan kode “\c”. Contoh querynya:

1mysql> SELECT NOW(),

2-> USER(),

3-> \c

5mysql>

Dapat anda perhatikan bahwa tanda -> akan kembali menjadi mysql> yang menandakan MySQL


telah siap untuk perintah yang baru.

Selain menggunakan “;”, query MySQL juga akan mengeksekusi perintah juga diakhiri dengan
tanda “\g”.

1
mysql> SELECT NOW(),USER(),VERSION()\g
2

3+---------------------+----------------+------------+

4| NOW()               | USER()         | VERSION()  |

5+---------------------+----------------+------------+

6| 2014-11-13 09:23:19 | root@localhost | 5.6.21-log |


+---------------------+----------------+------------+
7
1 row in set (0.00 sec)
8
Cara Merubah Tampilan output MySQL

Untuk perintah MySQL (query MySQL) yang menghasilkan output yang panjangnya melebihi
layar cmd, akan sulit bagi kita dalam membacanya. MySQL menyediakan cara untuk merubah
tampilan tabel menjadi baris.

Untuk merubah tampilan output MySQL menjadi baris, tambahkan tanda “\G” (huruf G besar,
bukan g kecil) setelah perintah query. Berikut adalah contoh penggunaannya dalam MySQL:

1mysql> SELECT NOW(),USER(),VERSION()\G

3*************************** 1. row ***************************

4    NOW(): 2014-11-13 09:23:41

5   USER(): root@localhost

6VERSION(): 5.6.21-log
1 row in set (0.00 sec)
7

Aturan Penulisan huruf BESAR dan kecil dalam MySQL

Konsep penggunaan huruf besar dan huruf kecil dalam MySQL akan berbeda tergantung
saat penggunaannya.

MySQL tidak membedakan penulisan huruf besar maupun kecil (case insensitive)
dalam penulisan fungsi dan identifier. Sebagai contoh, ketiga query ini akan menghasilkan
output yang sama (kecuali header dari tabel):

1 mysql> SELECT Version();

3 +------------+
| Version()  |
4
+------------+
5
| 5.6.21-log |
6
+------------+
7
1 row in set (0.00 sec)
8

10mysql> SELECT VERSION();

11

12+------------+

13| VERSION()  |
+------------+
14
| 5.6.21-log |
15
+------------+
16
1 row in set (0.00 sec)
17

18
mysql> select version();
19

20
+------------+
21
| version()  |
22+------------+

23| 5.6.21-log |

24+------------+

251 row in set (0.00 sec)

26

Namun untuk penulisan nama database dan nama tabel, MySQL akan mengikuti sistem
operasi dimana MySQL Server berjalan.

Untuk Sistem Operasi Windows, nama database mahasiswa dianggap sama dengan


MaHaSIsWA, namun dalam MySQL Server yang berjalan pada Linux, kedua database tersebut
dianggap berbeda (case sensitive).

Karena hal ini, ada baiknya kita membiasakan menggunakan kesepakatan dalam penamaan.
Disarankan untuk menggunakan selalu huruf kecil dalam penulisan database,
tabel dan variabel dalam MySQL, sehingga perbedaan huruf tidak akan menjadi masalah pada
kemudian hari jika MySQL Server pindah sistem operasi.

Di dalam tutorial duniailkom, dan juga dalam beberapa buku MySQL, perintah-perintah dan
fungsi baku MySQL akan menggunakan HURUF BESAR sedangkan untuk nama database,
tabel, dan kolom akan menggunakan huruf kecil. Hal ini hanya semata-mata agar perintah SQL
mudah dibaca dan dibedakan dengan nama database atau tabel. Kita bisa saja menggunakan
huruf kecil untuk seluruh fungsi-fungsi dalam MySQL.

Perhatikan penggunaan tanda

Dalam beberapa kasus, sebuah query bisa saja menggunakan tanda baca selain angka dan huruf
seperti : “,” (koma), “\” (forward slash/garis miring depan),”’” (tanda petik), dan “ “ (spasi).
Misalnya untuk 123 dan ‘123’, 12e + 14 dan 12e+14 akan memiliki arti berbeda dalam MySQL.
Jika anda menemui error, mungkin penggunaan “tanda” ini adalah masalahnya. Lebih jauh
dalam penggunaan tanda ini akan kita pelajari dalam tutorial-tutorial MySQL selanjutnya.

Anda mungkin juga menyukai