Wednesday, January 27, 2010

Basis Data (Sintak)

1. FUNGSI SELECT (MENAMPILKAN DATA) PADA SEBUAH TABEL

Fungsi select dalam bentuk sederhana hanya mempunyai pasangan kata from, yang berarti memilih tabel yang akan di tampilkan. Bentuk umumnya sbb :

Select
From
Where

Kita bisa melihat data yang ada di dalam tabel dengan menggunakan perintah "SELECT". Perintah SELECT adalah perintah yang akan sering kita gunakan nantinya. Kita mulai dengan cara yang paling sederhana.
mysql> select * from t_mhs ;


Perintah di atas menampilkan seluruh data yang ada di dalam tabel karyawan, karena menggunakan tanda asterik "*" di dalam perintah SELECT. Bagaimana kalau kita hanya mau menampilkan kolom nama dan gender saja?
mysql> select nama, gender from t_mhs
-> ;

Kalau kita hanya mau menampilkan data-data t_mhs yang berjenis kelamin perempuan saja, Cukup dengan menambahkan perintah "WHERE"
mysql> select nama, gender from t_mhs
-> where gender="Perempuan"
-> ;

Kita tampilkan data berdasarkan urutan nama mahasiswa dengan menambahkan perintah "ORDER BY" pada "SELECT":
mysql> select * from t_mhs
-> order by nama ;

Nah kalo yang sekarang diurut berdasarkan nama, tetapi dengan urutan terbalik (descending). Cukup dengan menambahkan perintah "DESC" pada SELECT:
mysql> select * from t_mhs
-> order by nama DESC ;



Operator Pembanding dan Operator Logika
Sudah saatnya kita melangkah ke permainan data yang lebih mengasyikan lagi dengan menggunakan dua operator, yaitu Operator Pembanding dan Operator Logika. Kedua jenis operator ini akan sering digunakan dalam proses "query" data.
Operator Pembanding
Operator Pembanding Keterangan
Lebih besar >
Lebih kecil <= Lebih besar atau sama dengan >=
Lebih kecil atau sama dengan <= Sama dengan = Tidak sama dengan <>
Operator Logika
Operator Logika Keterangan
Dan AND atau &&
Atau OR atau ||
Lebih besar atau sama dengan NOT atau !
Lebih kecil atau sama dengan <= Tidak sama dengan <>



Berikut ini adalah penerapan dari operator di atas:
Kita tampilkan data tanggal pinjam yang tanggal pinjamnya setelah tanggal 2009-05-21.
mysql> select *
-> from t_pinjam
-> where tgl_pinjam > "2009-05-20";


Sekarang kita tampilkan data peminjam yang tanggal pinjamnya antara tanggal 22 Mei 2009 dan 24 Mei 2009 :
mysql> select *
-> from t_pinjam
-> where tgl_pinjam >= "2009-05-22"
-> and tgl_pinjam <= "2009-05-24"; Baik kita lanjutkan tutorial ini dengan perintah-perintah lainnya. Kita akan menampilkan data buku yang id golongannya ”130”: mysql> select * from t_buku
-> where id_gol="130" ;

Kita tampilkan data buku yang id_golongannya bukan ”130”:
mysql> select * from t_buku
-> where id_gol !="130" ;

Perintah di atas dapat juga menggunakan tanda "<>', dan hasilnya tetap sama dengan di atas:
mysql> select * from t_buku
-> where id_gol <>"130" ;


Fungsi Agregasi
Beberapa fungsi untuk statistik dasar adalah:

1. MAX : mencari data terbesar dari sekelompok data
2. MIN : mencari data terkecil dari sekelompok data
3. COUNT : mencari cacah data (data NULL tidak akan dimasukkan dalam perhitungan, kecuali disebutkan secara khusus)
4. SUM : mencari jumlah dari sekumpulan data numeris
5. AVG : mencari rerata dari sekumpulan data numeris


Sekarang berapa mahasiswa yang meminjam buku, dengan kode buku ”12” ?

mysql> select count(*) from t_pinjam
-> where id_buku =”12”;


Berapakah rata-rata denda dari tabel denda?

mysql> select avg(denda) from t_denda;


Berapakah denda yang terbesar?

mysql> select max(denda) from t_denda;


Berapakah denda yang terkecil?

mysql> select min(denda) from t_denda;




Dan berapakah jumlah denda keseluruhan pada table denda?

mysql> select sum(denda) from t_denda;


Operator Precedence
Operator precedence adalah tingkatan hirarki dalam memproses serangkaian operator.
Tingkatan hirarki Jenis Operator
Paling Tinggi BINARY
NOT !
- (unary minus)
* / %
+ -
<< >>
&
|
< <= = <=> != <> >= > IN IS LIKE REGEXP RLIKE
BETWEEN
AND &&
Paling Rendah OR ||

Semakin keatas posisi operator, maka semakin tinggi tingkat hirarki operator tersebut. Begitu pula sebaliknya, semakin rendah posisinya maka akan semakin lemah hirarkinya.
Untuk operator yang sama kuat, misal + dan - digabung dengan operator * / %, maka akan ditentukan hirarkinya tergantung dari posisi mana yang paling kiri/paling awal ditemukan. Dan untungnya posisi hirarki ini dapat diubah dengan bantuan tanda kurung "(" dan ")". Sekarang kita lihat penerapannya.

mysql> select 10+15-11*2, (10+15-11)*2,
-> 2*6-5, 2*(6-5) ;
+------------+--------------+-------+---------+
| 10+15-11*2 | (10+15-11)*2 | 2*6-5 | 2*(6-5) |
+------------+--------------+-------+---------+
| 3 | 28 | 7 | 2 |
+------------+--------------+-------+---------+
1 row in set (0.00 sec)



Anda bisa perhatikan bahwa walaupun angka dan operatornya sama, tapi hasilnya bisa berbeda. Dan itu karena adanya peranan dari tanda kurung "(" dan ")" yang akan mengubah peta posisi hirarki operator....

Operator LIKE, NOT LIKE, REGEXP
Operator LIKE, NOT LIKE, REGEXP akan banyak kita gunakan terutama dalam operasi karakter.
Sekarang kita kan coba menggunakan operator LIKE. Operator LIKE ini digunakan untuk mencari data yang "menyerupai" atau "hampir sama" dengan kriteria tertentu. Biasanya untuk mencari data string/teks. Simbol "%" digunakan untuk membantu pelaksanaan operator LIKE. Posisi "%" sangat berpengaruh dalam menentukan kriteria. Kita langsung dengan contoh-contohnya saja ya biar lebih jelas penggunaannya...

Tampilkan data mahasiswa yang namanya berawalan huruf "a": (perhatikan posisi simbol persennya "%")

mysql> select *
-> from t_mhs
-> where nama LIKE "a%" ;


Tampilkan data mahasiswa yang namanya berakhiran huruf "i". Perhatikan posisi penulisan tanda "%".:

mysql> select *
-> from t_mhs
-> where nama LIKE "%a" ;


Contoh-contoh berikut akan lebih memudahkan pemahaman tentang pemakaian fungsi like.

• “a%” kata yang awalnya dimulai dengan a.
• ”%a%” kata yang di tengah-tengahnya mengandung karakter a.
• " _ _ _ “ kata yang tepat tiga karakter.
• ” _ _ _ %” kata yang minimum terdiri dari 3 karakter.

Bagaimana caranya agar operator LIKE dapat membedakan huruf besar dan kecil... Sederhana saja, cukup dengan menambahkan kata BINARY saja setelah perintah LIKE (sehingga perintahnya menjadi LIKE BINARY). Kita lihat contohnya...



mysql> select *
-> from t_mhs
-> where nama LIKE BINARY "A%" ;



Ya dengan menggunakan LIKE BINARY, penulisan huruf "a" akan dibedakan artinya dengan "A".

Operator REGEXP (singkatan dari REGular EXPressions) merupakan bentuk lain dari operator LIKE, dengan fungsi yang lebih disempurnakan. Operator REGEXP biasanya ditemani juga dengan simbol-simbol tertentu dalam melaksanakan tugasnya, seperti:
Simbol Keterangan
. Satu tanda titik (.) untuk mewakili satu karakter
[?] Untuk mewakili beberapa karakter atau range yang ditentukan.
^ Untuk posisi awal dari sebuah kriteria yang ditentukan
$ Untuk posisi akhir dari sebuah kriteria yang ditentukan
Kita langsung saja pada contohnya. Tampilkan data mahasiswa yang namanya berawalan huruf 'a':

mysql> select *
-> from t_mhs
-> where nama REGEXP "^a" ;



Tampilkan data mahasiswa yang namanya berawalan huruf 'a' sampai dengan huruf 'd':

mysql> select *
-> from t_mhs
-> where nama REGEXP "^[a-g]"
-> order by nama ;





Tampilkan data mahasiswa yang namanya berakhiran huruf "i":

mysql> select *
-> from t_mhs
-> where nama REGEXP "i$"
-> order by nama ;



Tampilkan data mahasiswa yang panjang namanya 10 karakter:

mysql> select *
-> from t_mhs
-> where nama REGEXP "^..........$" ;


Atau perintah diatas bisa juga ditulis dengan:

mysql> select *
-> from t_mhs
-> where nama REGEXP "^.{10}$" ;


Nah, kurang lebih itulah dasar-dasar MySQL. Ini baru tutorial perkenalan. Kita akan bertemu lagi dengan tutorial berikutnya, dasar-dasar database relasi. Kemudian dilanjutkan dengan tutorial penerapan sederhana "database relasi dengan menggunakan 2 buah tabel".



2. FUNGSI SELECT (MENAMPILKAN DATA) PADA BEBERAPA TABEL

Misalnya untuk menampilkan nama dari t_mhs dan no_telp dari t_telp:
mysql> select nama,telp from tmhs
-> inner join t_telp
-> on t_mhs.nim=t_telp.nim;


NIM yang ada di t_mhs dan NIM yang ada di t_telp dijadikan sebagai relasi / penghubung antara t_mhs dan t_telp

Atau bisa ditulis sebagai berikut

mysql> select nama,telp from t_mhs,t_telp
-> where t_mhs.nim=t_telp.nim;

Tampilkan nama mahasiswa yang meminjam buku dengan judul ”Pemrograman Web” :
mysql> select nama from t_mhs,t_pinjam,t_buku
-> where t_mhs.nim=t_pinjam.nim and
-> t_pinjam.id_buku=t_buku.id_buku and judul=’Pemrograman Web’;



NIM yang ada di t_mhs dan NIM yang ada di t_pinjam digunakan untuk menghubungkan t_mhs dengan t_pinjam. Id_buku yang ada di t_pinjam dan id_buku yang ada di t_buku digunakan untuk menghubungkan t_pinjam dengan t_buku


3. Fungsi Renaming (Penggantian Nama)

SQL memberikan fasilitas untuk melakukan renaming (penggantian nama) suatu kolom ataupun tabel. Sebagai contoh :

mysql> select nama as nama_mahasiswa from t_mhs a,t_pinjam b,t_buku c
-> where a.nim=b.nim and
-> b.id_buku=c.id_buku and judul=’Pemrograman Web’;




4. Fungsi Delete (Hapus Data)

Delete yang dilakukan hanya bisa diberikan pada record, bukan pada data kolom tertentu. Untuk menghapus data pada kolom tertentu menggunakan perintah update. Sintaks delete secara umum berbentuk :
Delete from
Where
Contoh sintaks untuk menghapus data telp pada t_telp dengan nim “117”:
mysql> delete from t_telp
-> where nim=’117’;


5. Fungsi Update (Meng-edit Data)
Update merupakan perintah untuk mengubah data yang sudah ada di dalam tabel. Perintah update memiliki sintaks secara umum sebagai berikut
Update
Set =
Where

Contoh penggunaan sintaks update untuk mengedit nama mahasiswa dari ”Agus Saputra” menjadi “Kadek Saputra” dengan nim “112” pada t_mhs

mysql> update t_mhs set nama=”Kadek Saputra”
-> where nim=’117’;

2 comments:

wakewachsman said...

The Top 10 Casinos in Arizona with Cash, Casino Cards, & Poker
Discover the top 10 군포 출장마사지 casinos in Arizona with Cash, 거제 출장샵 Casino 남양주 출장마사지 Cards, & Poker games, 포항 출장마사지 ranked by gamblers 양주 출장샵 in real-time.

Unknown said...

Our site horse dildo,wholesale dildo,horse dildo,vibrators,custom sex doll,dog dildo,dildos,sex doll,sex chair additional info

Post a Comment