Jumat, 28 Juni 2013



Pengertian Mysql



Pengertian MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread

Basis data (atau database) adalah kumpulan informasi yang disimpan di
dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu
program komputer untuk memperoleh informasi dari basis data tersebut

Untuk mengelola database diperlukan suatu perangkat lunak yang disebut
DBMS (Database Management System). DBMS merupakan suatu sistem
perangkat lunak yang memungkinkan user (pengguna) untuk membuat,
memelihara, mengontrol, dan mengakses database secara praktis dan efisien.
Dengan DBMS, user akan lebih mudah mengontrol dan memanipulasi data yang
ada.

Sedangkan RDBMS atau Relationship Database Management System
merupakan salah satu jenis DBMS yang mendukung adanya relationship atau
hubungan antar tabel. Di samping RDBMS, terdapat jenis DBMS lain, misalnya
Hierarchy DBMS, Object Oriented DBMS, dsb.

Table
Sebuah tabel merupakan kumpulan data (nilai) yang diorganisasikan ke dalam
baris (record) dan kolom (field). Masing-masing kolom memiliki nama yang
spesifik dan unik.
Field
Field merupakan kolom dari sebuah table. Field memiliki ukuran type data
tertentu yang menentukan bagaimana data nantinya tersimpan.
Record
Field merupakan sebuah kumpulan nilai yang saling terkait.
Key
Key merupakan suatu field yang dapat dijadikan kunci dalam operasi tabel.
Dalam konsep database, key memiliki banyak jenis diantaranya Primary Key,
Foreign Key, Composite Key, dll.
SQL
SQL atau Structured Query Language merupakan suatu bahasa (language) yang
digunakan untuk mengakses database. SQL sering disebut juga sebagai query.

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

Tipe Tabel yang Lain
Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL
juga mendukung tipe tabel yang lain, yaitu:
a. BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum
maksimal.
b. Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk
menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam
proses backup.
c. CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang
dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
d. NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.
e. Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.
Tipe-tipe Field (Kolom) MySQL
MySQL memiliki cukup banyak tipe data untuk field (kolom) tabel. Tipe field
(kolom) ini menentukan besar kecilnya ukuran suatu tabel. Tipe field di MySQL
setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string, date-andtime,
dan kelompok himpunan (set dan enum). Masing-masing tipe field memiliki
batasan lebar dan ukurannya.
Tipe Numeric
Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri
utama data numeric adalah suatu data yang memungkinkan untuk dikenai
operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian.
Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tip.
 1. TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit).
2. SMALLINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
3. MEDIUMINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit).
4. INT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit).
5. BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit).
6. FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi tunggal.
Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan
1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
7. DOUBLE
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi ganda.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
8. REAL
Merupakan sinonim dari DOUBLE.
9. DECIMAL
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
10. NUMERIC
Merupakan sinonim dari DECIMAL.
Tipe Date dan Time
Tipe data date dan time digunakan untuk menyimpan data tanggal dan
waktu. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok
tipe date dan time:
11. DATE
Penggunaan : digunakan untuk menyimpan data tanggal.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
Ukuran : 3 byte.
12. TIME
Penggunaan : digunakan untuk menyimpan data waktu.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)
Ukuran : 3 byte.
13. DATETIME
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59'
Ukuran : 8 byte.
14. YEAR
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
Tipe String (Text)
Tipe data string digunakan untuk menyimpan data string (text). Ciri utama
data string adalah suatu data yang memungkinkan untuk dikenai operasi
aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut
ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:
15. CHAR
Penggunaan : digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
16. VARCHAR
Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
17. TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
18. TEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (216 - 1) karakter
19. MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 - 1 karakter
20. LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 - 1 karakter
Tipe BLOB (Biner)
Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya
digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB
MySQL 5 : Dari Pemula Hingga Mahir versi 1.0 (Januari 2010)
merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di
MySQL yang termasuk ke dalam kelompok tipe blob:
21. BIT (sejak versi 5.0.3)
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
22. TINYBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
23. BLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 - 1 byte
24. MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 - 1 byte
25. LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 - 1 byte
Tipe Data yang Lain
Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe
data di MySQL mungkin akan terus bertambah seiring dengan perkembangan
versi MySQL. Berikut ini beberapa tipe data tambahan MySQL:
26. ENUM
Penggunaan : enumerasi (kumpulan data).
Jangkauan : sampai dengan 65535 string.
27. SET
Penggunaan : combination (himpunan data).
Jangkauan : sampai dengan 255 string anggotas.

Langkah-langkah membuat database dan merancang database


·         NULL
Jika kolom dalam tabel adalah opsional, kita dapat menyisipkan catatan baru atau memperbarui catatan yang ada tanpa menambahkan nilai ke kolom ini. Ini berarti bahwa lapangan akan disimpan dengan nilai NULL.

Nilai NULL diperlakukan berbeda dari nilai-nilai lain.

NULL digunakan sebagai tempat untuk nilai yang tidak diketahui atau tidak dapat diterapkan.

Catatan Catatan: Hal ini tidak mungkin untuk membandingkan NULL dan 0, mereka tidak setara.


·         NOT NULL kendala memaksa lapangan untuk selalu mengandung nilai. Ini berarti bahwa Anda tidak dapat menyisipkan catatan baru, atau memperbarui rekor tanpa menambahkan nilai ke bidang ini.
REATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

·         CREATE DATABASE untuk membuat database
Contoh :
CREATE DATABASE database_name

·         CREATE TABLE pernyataan digunakan untuk membuat tabel dalam database.
Tabel tersebut akan disusun dalam baris dan kolom, dan setiap tabel harus memiliki nama.
Contoh :
CREATE TABLE pelanggan (
id_pelanggan varchar(5) NOT NULL,
nm_pelanggan varchar(30) NOT NULL,
alamat text,
telepon varchar (20),
email varchar (50),
PRIMARY KEY(id_pelanggan)
);

·         INSERT INTO digunakan untuk menyisipkan catatan baru dalam tabel/memasukam data ke dalam table.
CONTOH :
INSERT INTO nama_table (kolom1,kolom2,….)values (‘data1’,’data2’,….);
Missal:
Insert into data_table (nama,umur) values (‘budi’,’33’)
·         UPDATE di gunakan untuk memperbarui ctatan ataw memodifikasi data pada suatu table
Contoh :
UPDATE table_name
SET column1=value, column2=value,...
WHERE some_column=some_value
Missal :
Update  data_penduduk  set nama=’budi santosa’,umur=’30’,where id=1


·         DELETE digunakan untuk menghapus record dalam sebuah tabel.
CONTOH :
DELETE FROM table_name
WHERE some_column=some_value
Missal :
Delete from data_penduduk where nama=”alfie”
·         SELECT  di gunakan untuk menampilkan database ataw mengambil dan memilih data dari database
Contoh :
SELECT *FROM   nama_table ;(untuk menampilkan data table semua )

Contoh ke 2 ;
Untuk menampilkan data yang di pilih ataw di ingin kan oleh kita :
Misal 1:
select id_pegawai,tgl_masuk,gaji from nama_table;
misal2:
SELECT * FROM BUBUR_CIANJUR WHERE ID_PEGAWAI='467892';




·         ORDER BY kata kunci yang digunakan untuk mengurutkan hasil-set oleh satu atau lebih kolom.

ORDER BY kata kunci macam catatan dalam urutan secara default. Untuk mengurutkan catatan dalam urutan menurun, Anda dapat menggunakan kata kunci DESC.
Contoh :
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

·         SQL PRIMARY KEY
kendala unik mengidentifikasi setiap record dalam tabel database.
Primary key harus mengandung nilai-nilai unik.
Sebuah kolom kunci primer tidak dapat berisi nilai NULL.
Setiap tabel harus memiliki kunci utama, dan setiap tabel hanya dapat memiliki satu primary key.
SQL PRIMARY KEY Kendala pada CREATE TABLE
Berikut SQL menciptakan PRIMARY KEY pada kolom "P_Id" ketika "Orang" tabel dibuat:
Contoh :

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
);

·         DROP ialah untuk menghapus
DROP DATABASE
Contoh :
DROP DATABASE database_name
DROP TABLE
Contoh :
DROP TABLE table_name

DROP INDEX
 digunakan untuk menghapus indeks dalam tabel.
CONTOH :
ALTER TABLE table_name DROP INDEX index_name


·         ALTER TABLE pernyataan digunakan untuk menambah, menghapus, atau memodifikasi kolom dalam tabel yang ada.
Contoh :
-          Untuk menambahkan kolom dalam sebuah tabel, gunakan sintaks berikut:
Missal :
ALTER TABLE table_name
ADD column_name datatype

-          Untuk menghapus kolom dalam sebuah tabel, gunakan sintaks berikut (perhatikan bahwa beberapa sistem database tidak mengijinkan menghapus kolom):
Missal :
ALTER TABLE table_name
DROP COLUMN column_name

-          Untuk mengubah tipe data dari kolom dalam sebuah tabel, gunakan sintaks berikut:
Missal :
ALTER TABLE table_name
MODIFY column_name datatype


·         SQL  JOIN
digunakan untuk menggabungkan baris dari dua atau lebih tabel, berdasarkan bidang umum di antara mereka.

Jenis yang paling umum dari bergabung adalah: SQL
 INNER JOIN (join sederhana). Sebuah SQL INNER JOIN mengembalikan semua baris dari beberapa tabel di mana kondisi bergabung terpenuhi.

Mari kita lihat pilihan dari "Perintah" tabel
Perhatikan bahwa "Pelanggan" di kolom "Perintah" tabel mengacu pada pelanggan dalam "Pelanggan" tabel. Hubungan antara dua tabel di atas adalah kolom "Pelanggan".
Kemudian, jika kita menjalankan pernyataan SQL berikut (yang berisi INNER JOIN):
itu akan menghasilkan sesuatu seperti ini:


Berbeda SQL JOINs

Sebelum kita melanjutkan dengan contoh-contoh, kami akan memberikan daftar jenis SQL berbeda BERGABUNG Anda dapat menggunakan:
-          INNER JOIN : Mengembalikan semua baris ketika ada setidaknya satu pertandingan di KEDUA tabel/ hanya akan di tampilkan baris-baris  yang satu sama lain memiliki ke cocokan .
-          LEFT JOIN: Kembali semua baris dari tabel kiri, dan baris yang cocok dari tabel kanan/akan menampilkan semua table sisi kiri ,walaupun data di pasangan joinnya yg di sisi kanan nilai nya tidak sama ataupun berisi null.
-          RIGHT JOIN: Kembali semua baris dari tabel kanan, dan baris yang cocok dari tabel kiri/dan ini kebalikan dari left joint ,akan menampilkan semua isi table sisi kanan ,walaupun data di pasangan join nya yang yg disisi kiri nilai nya tidak sama  atau pun berisi null.
-          FULL JOIN: Kembali semua baris ketika ada kecocokan dalam SATU dari tabel/akan menampilkan semua isi table sisi kiri walaupun data di pasangan join nya yang sisi kanan nilai nya null atau sebalik nya .

·         INNER JOIN : Mengembalikan semua baris ketika ada setidaknya satu pertandingan di KEDUA tabel/ hanya akan di tampilkan baris-baris  yang satu sama lain memiliki ke cocokan .
Contoh:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

Missal :
SELECT a.nama,b,penyakit FROM  pasien a INNER JOIN penyakit b ON  b.id=a.id;

·         LEFT JOIN: Kembali semua baris dari tabel kiri, dan baris yang cocok dari tabel kanan/akan menampilkan semua table sisi kiri ,walaupun data di pasangan joinnya yg di sisi kanan nilai nya tidak sama ataupun berisi null
CONTOH :
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
MISAL :
SELECT a.nama,b.penyakit FROM pasein a LEFT JOIN penyakit b on b.id=a.id;
·         RIGHT JOIN: Kembali semua baris dari tabel kanan, dan baris yang cocok dari tabel kiri/dan ini kebalikan dari left joint ,akan menampilkan semua isi table sisi kanan ,walaupun data di pasangan join nya yang yg disisi kiri nilai nya tidak sama  atau pun berisi null.
CONTOH :
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
Missal:
SELECT a.nama,b.penyakit FROM pasein a RIGHT JOIN penyakit b ON b.id=a.id;

·         FORMAT  adalah fungsi yang digunakan untuk memformat bagaimana lapangan yang akan ditampilkan.
SELECT FORMAT(column_name,format) FROM table_name;

·         SQL AND & OR Operator

Operator AND menampilkan catatan jika kedua kondisi pertama DAN kondisi kedua benar.

Operator OR menampilkan catatan jika salah kondisi ATAU kondisi kedua pertama adalah benar.
CONTOH :
SELECT column_name(s)
FROM table_name
WHERE condition
AND|OR condition
Missal1:
SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';
Missal2:
SELECT * FROM Customers
WHERE City='Berlin'
OR City='München';

·         BETWEEN
Operator memilih nilai-nilai dalam kisaran. Nilai-nilai dapat angka, teks, atau tanggal.
Contoh :
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Misal 1:
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;
Missal 2 :
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
Missal 3:
Pernahkah kita menemui kasus dimana kita harus mencari data penjualan antara tanggal 2009-07-22 s.d 2009-08-30 ? Jika ya, kita dapat menggunakan perintah BETWEEN dalam database mysql. Berikut ini cara penggunaannya :
SELECT * FROM sales WHERE tgltransaksi BETWEEN 2009-07-22 AND 2009-08-30 ORDER BY id DESC
Maka hasil query tersebut akan menghasilkan data penjualan pada range tanggal 22 Juli 2009 s.d 30 Agustus 2009. Lalu bagaimana jika kita harus mencari data penjualan di luar periode itu ? kita cukup menambahkan NOT di depan BETWEEN seperti contoh berikut :
SELECT * FROM sales WHERE tgltransaksi NOT BETWEEN 2009-07-22 AND 2009-08-30 ORDER BY id DESC
·         IN
Menentukan nilai di dalam .
Contoh :
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

Missal:
SELECT * FROM Customers
WHERE City IN ('Paris','London');

·         MAX
fungsi mengembalikan nilai terbesar dari kolom yang dipilih.
Contoh :
SELECT MAX(column_name) FROM table_name;

·         MIN
Fungsi mengembalikan nilai terkecil dari kolom yang di pilih
Contoh :
SELECT MIN(column_name) FROM table_name;

·         SUM
mengembalikan fungsi jumlah total dari kolom numerik
contoh :
SELECT SUM(column_name) FROM table_name;

·         ROUND () adalah fungsi yang digunakan untuk membulatkan bidang angka dengan jumlah desimal yang ditentukan.
Contoh :
SELECT ROUND(column_name,decimals) FROM table_name;

·         LEN () fungsi mengembalikan panjang nilai dalam kolom teks.
contoh :
SELECT LEN(column_name) FROM table_name;

·         CHECK kendala digunakan untuk membatasi rentang nilai yang dapat ditempatkan dalam kolom.

Jika anda mendefinisikan suatu kendala
CHECK pada kolom memungkinkan nilai-nilai tertentu saja untuk kolom ini.

Jika anda mendefinisikan suatu kendala
CHECK atas meja dapat membatasi nilai dalam kolom tertentu berdasarkan nilai-nilai dalam kolom lain pada baris.
Contoh :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
);

·         ENUM
Untuk menentukan yang sudah pasti semisal (‘islam’,’non islam’)






Sekian dari saya dan bila saya mendapatkan ilmu kembali saya akah bagikan kepada kalian semua ….
ingat !!!!!
kita belajar ingin bisa dan kita bisa karena  ingin belajar !!!
Mohon maaf bila ada kata-kata atau penjelasan yang kurang di mengerti .
SUKSES UNTUK KITA SEMUA !
                                                                                                                                   salam,

                                                                                                 alfisar