Jumat, 28 November 2014

MySQL Bahasa Pemrograman

Maaf sudah lama tidak update Blog, dikarenakan banyak pekerjaan. Okke saatnya kini saya mau mulai berbagi lagi. Kali ini saya akan berbagi pengetahuan tentang MySQL. Mungkin diantara anda sekalian sudah ada yang mengetahui atau bahkan pernah hanya sekedar mendengar tentang MySQL. Berikut penjelasannya, simak yuuk....

MySQL adalah multiuser database yang menggunakan bahasa Structured Query Language (SQL). SQL adalah bahasa standar yang digunakan untuk mengakses database server. MySQL juga salah satu jenis database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunkaan SQL sebagai bahasa dasar untuk mengakses databasenya. Selain itu bersifat free (tidak perlu membayar untuk menggunakannya).
Tujuan dari pemakaian SQL dalam menyelesaikan tugas yang berkaitan dengan database diantaranya:
1.      Memanggil data dari 1 tabel atau lebih pada 1 database atau lebih.
2.      Memanilupasi data pada tabel dengan menyisipkan, menghapus, atau memperbaharui record
3.      Mendapatkan ringkasan informasi mengenai data pada tabel, seperti total, jumlah record, nilai minimum, nilai maks dan nilai rata-rata
4.      Membuat, memodifikasi atau menghapus tabel pada database.

A.  Tipe-Tipe Tabel pada MySQL
Salah satu kelebihan dari MySQL adalah Anda dapat mendefinisikan tipe untuk tiap tabel. MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL. MySQL memiliki 3 (tiga) tipe data utama, yaitu MyISAM, InnoDB dan HEAP.
Jika kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis akan dibuat sesuai konfigurasi default server MySQL. Hal ini ditentukan oleh variabel default-table-type di file konfigurasi 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. Jika kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :

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.
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).

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.
2.    InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
·         Mendukung transaksi antar tabel.
·         Mendukung row-level-locking.
·         Mendukung Foreign-Key Constraints.
·         Crash recovery.

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.


B.  Tipe-Tipe Data pada SQL
1.      Tipe data interger
Pada tipe data ini yang dapat disimpan hanya berupa angka (numeric) saja, baik berupa angka positif maupun angka negative. Lebih jelasnya lihat tabel dibawah ini:


Tipe Data
Jangkauan Signed
Jangkauan unsigned
Memori
Fungsi

Tinyint
-128 – 127
0 – 255
1 byte
Dugunakan untuk menyimpan data bilangan bulat positif dan negative
Smallint
-32768 – 32767
0 – 65535
2
Dugunakan untuk menyimpan data bilangan bulat positif dan negative
Mediumint
-8388608 – 8388607
0 – 16777215
3
Dugunakan untuk menyimpan data bilangan bulat positif dan negative
Int
-2147483648 – 214748 3647
0 – 4294967295
4
Dugunakan untuk menyimpan data bilangan bulat positif dan negative
Bigint
-922337203685477508 – 922337203685477807
0 – 18446744073709551615
8
Dugunakan untuk menyimpan data bilangan bulat positif dan negative
Fload
Tergantung nilainya
-
4
Dugunakan untuk menyimpan data bilangan bulat positif dan negative persisi tunggal
Double
Tergantung nilainya
-
8
Dugunakan untuk menyimpan data bilangan bulat positif dan negative persisi ganda
Decimal
Tergantung nilainya
-
M+2
Dugunakan untuk menyimpan data bilangan bulat positif dan negative

Sedangkan attribute AUTO_INCREMENT, UNSIGNED dan ZEROFILL hanya dapat digunakan pada tipe data interger saja:

AUTO_INCREMENT: memberikan nilai data numberik yang di setting oleh servernya , jadi secara otomatis nilai dari data (field) tsb akan selalu naik 1 angka setelah nilai data sebelumnya.

UNSIGNED: memberikan nilai tipe data yang hanya dengan nilai positif saja, karena secara default tipe data ini jangkauannya sampai negative

ZEROFILL: berfungsi untuk memberikkan imbuhan 0 di depan nilaisepanjang lebar tipe data

2.      Tipe data string
Pada tipe data ini bernilai string (alphanumeric/karakter)dan numeric. Yang jelas nilai numeric disini dapat untuk operasi perhitungan sebelum dilakukan konversi.
Tabel tipe data string di MySQL:
Tipe Data
Max Size
Memori
Fungsi
VARCHAR
0 s/d 255 karakter (versi 4.1), 0 s/d 65535 (versi 5.03)
X+1 byte
Digunakan untuk menyimpan data string ukuran dinamis
TINYTEXT
0 s/d 255 karakter (versi 4.1), 0 s/d 65535 (versi 5.03)
X+1 byte
Digunakan untuk menimpan data teks
TINYBLOB

X+2 byte

TEXT
0 s/d 65535 (216 – 1) karakter
X+2 byte
Digunakan untuk menimpan data teks
BLOB
216 – 1 byte
X+2 byte
Digunakan untuk menyimpan data biner
MEDIUMTEXT
0 s/d 224 – 1 karakter
X+3 byte
Digunakan untuk menimpan data teks
MEDIUMBLOB
224 – 1 byte
X+3 byte
Digunakan untuk menyimpan data biner
LONGTEXT
0 s/d 232 – 1 karakter
X+4 byte
Digunakan untuk menimpan data teks
LONGBLOB
232 – 1 byte
X+4 byte
Digunakan untuk menyimpan data biner


3.      Tipe data waktu
ini menyimpan informasi waktu, baik tanggal maupun jam. Walaupun data yang disimpan disini numeric tetapi pembacaan thd data string. Jadi perlu dilakukan konversi bila ingin melakukan perhitungan. Berikut tipe data waktu yang didukung MySQL:
Tipe Data
Format Standar
Zero Value
Fungsi
DATETIME
YYY-MM-DD
HH:MM:SS
0000-00-00
00:00:00
Digunakan untuk menyimpan data tanggal dan waktu
DATE
YYY-MM-DD
0000-00-00
Digunakan untuk menyimpan data tanggal
TIME
HH:MM:SS
00:00:00
Digunakan untuk menyimpan data waktu
YEAR
YYY
0000
Digunakan untuk menyimpan data tahun dari tanggal
TIMESTAMP
YYYMMDDHHMMSS
00000000000000



4.      Tipe data binary string
BINARY: mendefinisikan bilangan dengan ukuran tetap hingga 8000 byte
VARBINARY: mendefiniskan bilangan dengan ukuran variasi hingga 8000 byte

5.      Tipe data lainnya
ENUM: merupakan tipe data yang menyimpan beberapa pilihan data yang akan disimpan tetapi hanya satu pilihan yang boleh disimpan. Kegunaan enumerisasi (kumpulan data)
SET: tipe data ini hamper mirip dengan ENUM tetapi bisa memilih lebih dari 1. Kegunaan combination (himpunan data)


C.  Jenis perintah SQL
1. DDL ( DATA DEFINITION LANGUAGE)
Bagian drSQL yang digunakan unt mendefinisikan data dan obyek database. Perintah tersebut berupa membuat, mengubah, menghapus dll.
Perintah yang termasuk DDL adalah:
Perintah
kegunaan
Create table
Membuat tabel
Create index
Membuat indeks
Alter table
Mengubah atau menyisipkan ked lm tabel
Drop table
Menghapus tabel
Drop index
Menghapus indeks

2. DML (DATA MANIPULATION LANGUAGE)
Merupakan bagian dari perinth SQL yang digunakan untuk manipulasi data. Perintah-perintah ini bertugas untuk melakukan query dan perubahan yang dilakukan di dalam suatu tabel.
Bebrpa perintah SQL yg temasuk DML adalah:
Perintah
Kegunaan
Select
Digunakan unt memilih data dr suatu tabel
Insert
Menyisipkan atau memasukan data dr suatu tabel
Delete
Menghapus isi data dr baris (record) pd tabel trtentu.
update
Mengubah isi data dr kolom (field) pd tabel tertentu.


Tidak ada komentar:

Posting Komentar

Tinggalkan Komentar mu...!! ^^