Senin, 13 Juni 2011

Pengenalan MySQL

Pengertian MySQL

SQL (yang biasa dibaca sequel) merupakan kependekan dari Structured Query Language yaitu bahasa yang dirancang khusus untuk komunikasi dengan database. Tidak seperti bahasa-bahasa lainnya (seperti bahasa C, basic, pascal atau bahasa pemprograman yang lain) Bahasa SQL sengaja di rancang untuk melakukan hal secara sederhana dan efisien untuk membaca dan menulis data dari suatu database.

Semenjak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah – perintah pemrograman murni.


Keunggulan MySQL

  • MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU.
  • Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL APIs dls.
  • Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).
  • Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database.
  • Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.
  • Mendukung ODBC untuk sistem operasi Microsoft Windows.
  • Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. Dan masih banyak keunggulan lainnya (lihat manual mysql_3.22)
  • MySQL merupakan software yang free, dan bisa di download di www.mysql.com. Sedangkan software database lainnya seperti ORACLE merupakan software yang harus di beli.
  • MySQL dan PHP saling terintegrasi. Maksudnya adalah pembuatan database dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web
  • yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.

Mengenal tipe data pada MySQL


v Tipe Numerik

TIPE DATA

KETERANGAN

KEBUTUHAN MEMORY

BIT

Menyatakan tipe bit. Satuan bit dapat berupa bilangan 0 atau 1

o BIT identic dengan BIT (1), yang berarti 1 buah bit

o BIT(2) berarti mengandung 2 bit

Angka maksimal didalam kurung yaitu 64bit

(M/7)/ 8 byte

TINYINT

Bulat yang berkisar antara -128 sampai 127. Bila ditambah kata UNSIGNED (berarti bilangan tidak bertanda), jangkauan bilangan bekisar dari 0 sampai dengan 65535

1 byte

BOOLEAN

Untuk menyatakan nilai benar dan salah. Nilai 0 dianggap salah dan selain itu benar

1 byte

SMALLINT

Bulat yang berkisar antara -32768 sampai 32767. Jika ada UNSIGNED (berarti bilangan tidak bertanda), jangkauan bilangan berkisar dari 0 sampai dengan 65535

2 byte

MEDIUMINT

Bulat yang berkisar antara -8388608 sampai bilanga 8388608 bila ditambha UNSIGNED jangkauan bilangan berkisar dari 0 sampai dengan 4294967295

3 byte

INT

Menyatakan bilangan bulat yang berkisar antara -2147683648 sampai 2147683647. Bila ditambah UNSIGNED jangkauan bilangan berkisar dari 0 sampai dengan 4294967295

4 byte

BIGINT

Menyatakan bilangan bulat yang berkisar antara -9223372036854775808 sampai 9223372036854775807. Bila ditambahkan kata UNSIGNED jangkauan bilangan berkisar dari 0 sampai 18446744073709551615

6 byte

FLOAT [M,D]

Tipe bilangan pecahan yang dapat menampung bilangan antara -3.402823466E + 38 sampai dengan .175494351E-38,0, dan 1.175494351E-38 sampai dengan 3.402823466E + 38.

o M menyatakan jumlah digit decimal

o D menyatakan jumlah digit dibelakang titik decimal

o Jika kata UNSIGNED disertakan dibelakangnya, nilai negatife tidak diperkenangkan

4 byte

DOUBLE

Pecahan menampung antara 1.7976931348623157E+308 sampai dengan -2.2250738585072014E-308,0, dan 2.2250738585072014E-308 sampai dengan 1.7976931348623157E+308

o M menyatakan jumlah digit decimal

o D menyatakan jumlah digit dibelakang titik decimal

o Jika kata UNSIGNED disertakan dibelakangnya, nilai negatife tidak diperkenangkan

8 byte

FOAT [P]

Pecahan dalam hal ini, p menyatakan jumlah persis dalam bit

o Jika p berkisar 0 sampai 24, tipe data identic FLOAT tanpa nilai M ataupun D

o Jika p berkisar antara 25 sampai dengan 53, tipe data identic data DOUBLE tanpa nilai M atau D

4 byte 0<=p<=24,

8 byte 25<=p<=53

DECIMAL

Bilangan dengan sejumlah digit dibelakang titik decimal

o M menyatakan jumlah digit decimal

o D menyatakan jumlah digit dibelakang titik decimal

o Nilai terbesar untuk M adalah 65

o Jika D tidak disertakan, dianggap D bernilai 0

o Cocok untuk menyimpan data yang memerlukan keakurasian tinggi, misalnua uang


v Tipe String

TIPE DATA

KETERANGAN

KEBUTUHAN MEMORY

CHAR (M)

String dengan panjang tetap yaitu M karakter. Bila string yang dimasukkan memiliki panjang kurang dari M maka sisanya diisi dengan spasi, nila terbesar untuk M adalah 255

M byte, 0<=M<=255

CHAR

Sinonim dengan CHAR (1)

1 byte

VARCHAR (M)

String dengan panjang variabel M menyatakan jumlah maksimum karekter yang bias disimpan. Nilai terbesar untuk M yaitu 65535

L+1 byte, L<=M dan

0<=M<=65535

BINARY (M)

Serupa dengan CHAR (M), tetapi disimpan dalam bentuk biner

M byte, 0<=M<=255

VARBINARY (M)

Serupa dengan VARCHAR (M), tetapi disimpan dalam bentuk biner

L+1 byte, L<=M dan

0<=M<=255

TINYBLOB

BLOB dengan ukuran paling kecil

L+1 byte, L<28

BLOB

BLOB dengan ukuran lebih besar dari pada TINYBLOB

L+2 byte, L<216

MEDIUMBLOB

BLOB berukuran medium

L+3 byte, L<224

LONGBLOB

BLOB berukuran paling besar

L+4 byte, L<232

TINY TEXT

String text dengan ukuran paling kecil

L+1 byte, L<28

TEXT (M)

String lebih besar dari pada TINYTEXT

L+2 byte, L<216

MEDIUMTEXT

String berukuran medium

L+3 byte, L<224

LONGTEXT

String teks berukuran paling besar

L+4 byte, L<232

ENUM (‘nilai1’,’nilai2’….)

Tipe kolom yang memungkinkan nilai kolom berupa salah satu string yang disebut pada ENUM. Jumlah elemen ENUM dapat mencapai 65535

1 atau 2 byte, tergantung pada jumlah nilai enumerasi

SET (‘nilai1’,’nilai2’….)

Merupakan suatu objek string yang bisa berisi nol,satu,atau beberapa nilai. Sebuah kolom bertipe SET maksimum berisi 64 elemen yang berbeda. Nilai antara elemen ditulis dengan pemisa koma

1.2.3.4 atau 8 byte,

Bergantung pada jumlah himpunan

v Tipe Tanggal & Waktu

TIPE DATA

KETERANGAN

KEBUTUHAN MEMORY

DATE

Menyatakan tipe untuk data tanggal. Tanggal yang didukung berkisar antara 1000-01-01 sampai 9999-12-31

3 byte

TIME

Menyatakan tipe untuk data waktu yang berformat JAM-MENIT-DETIK

3 byte

DATETIME

Menyatakan tipe data yang menggabungkan tanggal dan waktu. Formatnya ‘tahun-bulan-tanggal jam:menit:detik

8 byte

TIMESTAMP

Tipe kolom yang nilainya akan diisi secara otomatis dengan tanggal dan jam saat ada operasi INSERT atau UPDATE

4 byte

YEAR [2/4]

Tipe untuk menyatakan tahun. Bila angka tidak disebutkan, tahun dianggap berformat 4 digit. Angka 2 berarti tahun menggunakan 2 digit

o Untuk format 4 digit, tahun dapat berkisar 1901 sampai 2155 bisa juga 0000

o Untuk format 2 digit, tahun dapat berkisar 70 sampai dengan 69. 70 berarti 1970 dan 69 berarti 2069

o Nilai untuk YEAR [4] dapat diisi berupa string atau bilangan

1 byte


  • Tampilan Awal MySQL

  • Melihat Databases

mysql> show databases;

  • Membuat Databases

mysql> create database t_data;

  • Memilih Databases

mysql> use t_data;

Database changed

  • Membuat Table di Databases T_DATA

mysql> create table latihan1 (

-> kunci char not null primary key,

-> t_small SMALLINT,

-> t_float FLOAT (10,3),

-> t_datetime DATETIME,

-> t_year YEAR,

-> t_timestamp TIMESTAMP );

  • Melihat Struktur Tabel

mysql> desc latihan1

  • Memasukkan data kedalam tabel

mysql> insert into latihan1 (kunci,t_small,t_float,t_datetime,t_year) values

-> ('A',123,89.12345678,'1989-08-14 11:42:46',2011),

-> ('B',32767,89.12345678,'1989-08-14 11:42:46','2011');

Keterangan

ü Untuk tipe float hanya mengambil 3 angka dibelakang koma

ü Year bisa berupa berupa string ataupun tidak

ü Timestamp akan terisi secara otomatis

ü Small paling tinggi angkanya 32767 lebih dari itu error

  • Membuat Tabel

mysql> create table latihan2 (

-> nama varchar (10),

-> t_enum ENUM ('Senin','Selasa','Rabu','Kamis'),

-> t_set SET ('bayi','anak','remaja','dewasa','muda'));

  • Memasukkan Data Kedalam Tabel

mysql> insert into latihan2 (nama,t_enum,t_set) values

-> ('Yulius','senin','remaja,DEWASA'),

-> ('Rofiq','rabu','REMAJA,dewasa,BAYI');

Keterangan

ü Enum hanya memilih salah satu elemen jika lebih maka akan error

ü Set bisa memilih banyak tapi hanya yang tertulis dlm SET selebihnya error dan huruf capital tidak berpengaruh,

  • Membuat Tabel

mysql> create table latihan3 (

-> urut int primary key auto_increment,

-> t_bawaan int default 5000,

-> bebas smallint,

-> positif smallint unsigned);

  • Masukan Data

mysql> insert into latihan3 (t_bawaan,bebas,positif) values

-> (3000,-20,20),

-> (4000,20,20);

Keterangan

ü Pada kolom urut nilainya terisi secara otomatis

ü Kolom positif hanya berupa angka positif, bila memasukkan angka negaatif maka akan error

  • Alter untuk Outo_Increment

mysql> alter table latihan3 auto_increment = 22;

ü Fungsinya agar no urutnya dimulai dari angka 22

mysql> insert into latihan3 (bebas,positif) values

-> (-44,44);

Keterangan

ü Untuk kolom urut dimulai dari 22

ü Dan kolom t_bawaan terisi dengan otomatis sesuai set default walaupun dikosongkan

mysql> insert into latihan3 (urut,t_bawaan,bebas,positif) values

-> (10,123,-33,60);


Semoga bermanfa’at …………

Salam Sukses buat pencinta MySQL

CopyRight 10-10-2010 Yulius Asan

0 komentar: