Posted by : Unknown
Minggu, 29 September 2013
MySQL adalah sebuah perangkat lunak system manajemen basis data SQL
(DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari
system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan
telah dipercaya mengelola system dengan 40 buah database berisi 10.000
tabel dan 500 di antaranya memiliki 7 juta baris.
MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan
yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang
bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama
Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas
yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.
Pada saat ini MySQL merupakan database server yang sangat terkenal di
dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk
mengakses database yaitu SQL. SQL (Structured Query Language)
pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset
San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh
Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan
database lebih user-friendly dibandingan dengan yang lain, misalnya
dBase atau Clipper karena mereka masih menggunakan perintah-perintah
pemrograman murni.
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa pemograman seperti C, dan Delphi.
1. Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data, ekspresi, konstanta dan fungsi bawaan.
- Pernyataan
Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada DBMS.
Pernyataan dasar SQL antara lain :
- ALTER : Merubah struktur tabel
- COMMIT : Mengakhiri eksekusi transaksi
- CREATE : Membuat tabel, indeks
- DELETE : Menghapus baris pada sebuah tabel
- DROP : Menghapus tabel, indeks
- GRANT : Menugaskan hak terhadap basis data kepada user
- INSERT : Menambah baris pada tabel
- REVOKE : Membatalkan hak kepada basis data
- ROLLBACK : Mengembalikan pada keadaan semula apabila transaksi gagal dilaksanakan
- SELECT : Memilih baris dan kolom pada sebuah tabel
- UPDATE : Mengubah value pada baris sebuah tabel
- Nama
Nama digunakan sebagai identitas, yaitu identitas bagi objek pada DBMS. Misal : tabel, kolom dan pengguna.
- Tipe data
Tipe data yang ada dalam MYSQL :
1. Tipe data numerik antara lain :
- TINYINT : Nilai integer yang sangat kecil
- SMALLINT : Nilai integer yang kecil
- MEDIUMINT : Nilai integer yang sedang
- INT : Nilai integer dengan nilai standar
- BEGINT : Nilai integer dengan nilai besar
- FLOAT :Bilangan decimal dengan single-precission
- DOUBLE :Bilangan decimal dengan double-precission
- DECIMAL(M,D) : Bilangan float yang dinyatakan sebagai string. M : jumlah digit yang disimpan, D : jumlah angka dibelakang koma
2. Tipe data String antara lain :
- CHAR : Karakter yang memiliki panjang tetap yaitu sebanyak n
- VARCHAR : Karakter yang memiliki panjang tidak tetap yaitu maksimum n
- TINYBLOB : BLOB dengan ukuran sangat kecil
- BLOB : BLOB yang memiliki ukuran kecil
- MEDIUMBLOB : BLOB yang memiliki ukuran sedang
- LONGBLOB : BLOB yang memiliki ukuran besar
- TINYTEXT : teks dengan ukuran sangat kecil
- TEXT : teks yang memiliki ukuran kecil
- MEDIUMTEXT : teks yang memiliki ukuran sedang
- LONGTEXT : teks yang memiliki ukuran besar
- ENUM : kolom diisi dengan satu member enumerasi
- SET : Kolom dapat diisi dengan beberapa nilai anggota himpunan
3. Tipe data tunggal dan jam :
- DATE : date memiliki format tahun-bulan-tanggal
- TIME : time memiliki format jam-menit-detik
- DATETIME : gabungan dari format date dan time
- Ekspresi
Ekspresi digunakan untuk menghasilkan/menghitung nilai.
Misalnya : jumlah=harga-diskon
Ekspresi aritmatika antara lain :
- + : tambah
- – : kurang
- / : bagi
- * : kali
- Konstanta
Nilai yang tetap
- Fungsi bawaan
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila
fungsi tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan
untuk melakukan summary, statistik yang dilakukan pada suatu
tabel/query.
- AVG(ekspresi) : digunakan untuk mencari nilai rata-rata dalam kolom dari tabel.
- COUNT(x) : digunakan untuk menghitung jumlah baris dari sebuah kolom dari tabel
- MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu kolom dari tabel
- MIN(ekspresi) : digunakan untuk mencari nilai yang paling kecil dari suatu kolom dari tabel
- SUM(ekspresi) : digunakan untuk mengitung jumlah keseluruhan dari suatu kolom dari tabel
2. Kelompok Penyataan SQL
Pernyataan SQL dapat dikelompokan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.
1.Pernyataan SQL kelompok DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table,
atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan
antar tabel. Perintah yang digunakan biasanya : CREATE, ALTER, dan DROP
- Membuat Database Syntax yang digunakan : CREATE DATABASE namadatabase;
- Menghapus Database Syntax yang digunakan : DROP DATABASE namadatabase;
- Membuat Tabel Syntax yang digunakan : CREATE TABLE namatabel;
- Menghapus Database Syntax yang digunakan : DROP DATABASE namadatabase;
- Menghapus Tabel Syntax yang digunakan : DROP TABEL namatabel;
- Mendefinisikan null/not null Syntax yang digunakan : CREATE TABLE namatabel
- Mendefinisikan Nilai Default Syntax yang digunakan : CREATE TABLE namatabel
- Mendefinisikan Primary Key pada Tabel Dapat dilakukan dengan 3 Syntax :
- Menghapus Primary Key pada Tabel Syntax yang digunakan ada 2 :
- Menambah Kolom Baru pada Tabel Syntax yang digunakan : ALTER TABEL NAMATABEL ADD newfield tipe;
- Mengubah Tipe Data atau Lebar Kolom pada Tabel Syntax yang digunakan : ALTER TABEL namatabel MODIFY COLUMN field tipe;
- Mengubah Nama Kolom Syntax yang digunakan : ALTER TABEL namatabel CHANGE COLUMN namakolomlama namakolombaru tipe;
- Menghapus Kolom pada Tabel Syntax yang digunakan : ALTER TABEL namatabel DROP COLUMN namakolom;
- Mendefinisikan Foreign Key pada Tabel Dapat dilakukan dengan 2 Syntax :
- Menghapus Foreign Key Syntak yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY namaconstraint;
( Field1 TipeData1 NOT NULL,
Field2 TipeData2
);
( Field1 TipeData1,
Field2 TipeData2 DEFAULT nilai
);
1) CREATE TABLE namatabel
( Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2
);
2) CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
3) ALTER TABEL namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (NAMAKOLOM)
1) ALTER TABLE namatabel DROP CONSTRAINT NAMACONSTRAINT;
2) ALTER TABLE NAMATABEL DROP PRIMARY KEY;
1) CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
FOREIGN KEY (Field2) REFERENCES namatabelinduk
(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION)
2) ALTER TABEL namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
2. DML (Data Manipulation Language)
DML berfungsi untuk memanipuladi data yang ada di dalam basis data,
contohnya untuk pengambilan data, penyisipan data, pengubahan data dan
penghapusan data.
Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan SELECT.
- INSERT menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
- DELETE Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi];
- UPDATE Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1, kolom2=nilai2 [where kondisi];
- SELECT Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya;
Keunggulan MySQL
- Program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki mulit-CPU
- Didukung bahasa pemrograman umum seperti C, C++, Java, Perl, PHP, Python, TCL, APls dls.
- Bekerja pada berbagai platform
- Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
- Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
- Memiliki system sekuriti yang cukup baik dengan verifikasi host
- Mendukung ODBC untuk OS Microsoft Windows
- Mendukung record yang memiliki kolom dengan panjang tetap
- Software yang free
- Saling terintegrasi dengan PHP