DML digunakan untuk memanipulasi data yang ada dalam suatu tabel.
Perintah yang umum dilakukan adalah:
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.
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 dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik.
4. Performance Tuning
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain.
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.
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
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).
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.
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
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.
Baik, itulah tadi Tipe-Tipe Data pada MySQL, semoga bermanfaat dan selamat mencoba.
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+---------------------+----------------+------------+
5+---------------------+----------------+------------+
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:
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:
2-> USER(),
3-> \c
5mysql>
Selain menggunakan “;”, query MySQL juga akan mengeksekusi perintah juga diakhiri dengan
tanda “\g”.
1
mysql> SELECT NOW(),USER(),VERSION()\g
2
3+---------------------+----------------+------------+
5+---------------------+----------------+------------+
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:
5 USER(): root@localhost
6VERSION(): 5.6.21-log
1 row in set (0.00 sec)
7
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):
3 +------------+
| Version() |
4
+------------+
5
| 5.6.21-log |
6
+------------+
7
1 row in set (0.00 sec)
8
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+------------+
26
Namun untuk penulisan nama database dan nama tabel, MySQL akan mengikuti sistem
operasi dimana MySQL Server berjalan.
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.
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.