Bisik Tetangga
Untuk masuk ke forum, silahkan Login atau mendaftar (Share Your Knowledge)


Tempat Asyik Nongkrong Sekaligus Menambah Ilmu Pengetahuan
 
IndeksFAQPencarianPendaftaranLogin
Kami mohon partisipasinya dalam pengembangan forum. Klik Disini


Pasang Iklanmu disini gratis (selama masa promosi)
ads ads ads ads

Share | 
 

 MySQL Corner - Tutorial, Tips, dll

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
avatar
harry170891
Administrator

Jumlah posting : 212
Reputasi : 11
Join date : 04.12.10
Age : 26
Lokasi : Bandung, Indonesia

PostSubyek: MySQL Corner - Tutorial, Tips, dll    Sat Sep 24, 2011 9:31 am

Tips dalam menulis query SQL :
  1. Gunakan huruf besar untuk reserved keywords MySQL (macam "SELECT", "DELETE", "UPDATE", dll).
    Gunakan huruf kecil untuk nama tabel, kolom, dll yang bukan reserved keywords dari MySQL.
    Ini akan mempermudah pembacaan query.

    Contoh yang benar :


    Code:
    SELECT * FROM tbl_member ORDER BY member_id
    SELECT UPPER(nama_member) FROM tbl_member ORDER BY member_id

    Salah :


    Code:
    select * from tbl_member order by member_id
    SELECT * FROM TBL_MEMBER WHERE NAMA_MEMBER = 'joko'
    SELECT upper(nama_member) FROM TBL_MEMBER WHERE NAMA_MEMBER = 'joko'

  2. Jika memungkinkan, gunakan backtick untuk kata-kata yg bukan reserved keywords seperti contoh di bawah
    Catatan : backtick bukan tanda petik satu biasa, tapi bisa didapat pada tombol di bawah tombol Esc di pojok kiri atas keyboard yang normal.



    Code:
    SELECT * FROM `tbl_member` ORDER BY `member_id`
    SELECT UPPER(`nama_member`) FROM `tbl_member` ORDER BY `member_id`




MySQL Basic 1


Misal ada tabel bernama "member".
Memiliki kolom sbb :
  1. id_member, tipe = integer, primary key + auto increment
  2. nama_member, tipe = varchar
  3. umur_member, tipe = integer

Untuk mengambil seluruh data di tabel, gunakan perintah (SQL query) berikut


Code:
SELECT * FROM member
Untuk mengambil hanya kolom "nama_member" dari seluruh data di tabel, gunakan perintah (SQL query) berikut


Code:
SELECT nama_member FROM member
Untuk mengambil hanya kolom "nama_member" dan "umur_member" dari seluruh data di tabel :


Code:
SELECT nama_member, umur_member FROM member
Untuk melakukan sorting (pengurutan) berdasarkan "nama_member" :


Code:
SELECT * FROM member ORDER BY nama_member
Secara default, jika tidak ada "ASC" atau "DESC", pengurutan adalah "ASC".
Sehingga query di atas sama dengan :


Code:
SELECT * FROM member ORDER BY nama_member ASC
Untuk melakukan sorting (pengurutan) terbalik berdasarkan "nama_member"


Code:
SELECT * FROM member ORDER BY nama_member DESC


Truncate vs delete

Apa beda truncate & delete.

Contoh perintah truncate :


Code:
TRUNCATE TABLE tbl_memberTRUNCATE TABLE tbl_member, tbl_posts
Contoh perintah delete :



Code:
DELETE FROM tbl_memberDELETE FROM tbl_member WHERE id_member = 1DELETE FROM tbl_member WHERE id_member = 1 OR id_member = 2
Dari contoh di atas terlihat bahwa pada TRUNCATE, semua data di tabel dikosongkan tanpa kecuali.
Sedangkan pada DELETE, kita bisa menghapus hanya data tertentu saja (dengan menambahkan WHERE), atau seluruh data (tanpa WHERE).

Sekarang jika kita ingin menghapus seluruh data, dua-duanya mampu, lalu mana yang kita pilih?
TRUNCATE atau DELETE?.

Pada perintah TRUNCATE, penghapusan terjadi lebih cepat, yaitu bisa diibaratkan bahwa tabel di-DROP dan di-CREATE ulang.
Akibatnya selain data kosong, dengan TRUNCATE auto_increment juga ter-reset jadi awal (1).

Sedangkan pada DELETE, jika kita menghapus semua data, auto_increment masih melanjutkan auto_increment yang lalu.
Misal ada tabel berikut



Code:
==========id - nama==========1 - joko2 - budi3 - bayu
Setelah kita meng-TRUNCATE tabel tersebut, jika kita memasukkan data baru lagi, maka id akan bernilai 1



Code:
==========id - nama==========1 - data baru
Sedangkan bila kita men-DELETE data tabel tersebut, jika kita memasukkan data baru lagi, maka id akan bernilai 4



Code:
==========id - nama==========4 - data baru
Selain itu pada perintah DELETE tanpa WHERE (penghapusan semua row), proses DELETE akan berjalan lambat karena setiap row di tabel di-DELETE satu per satu.
Bayangkan bila ada 2 ribu row, semua didelete satu per satu secara background.

Maka gunakan TRUNCATE & DELETE tergantung situasi, kondisi, & kebutuhan

Kesimpulan :
  1. Untuk menghapus seluruh data, gunakan TRUNCATE.
  2. Untuk menghapus data tertentu, gunakan DELETE.



Berikutnya untuk mengubah data di tabel.

Mengubah semua data di tabel


Code:
UPDATE member SET nama = 'nama_baru'
Ini untuk mengubah data tertentu


Code:
UPDATE member SET nama = 'nama_baru' WHERE id_member = 1
Ini untuk mengubah data tertentu versi 2


Code:
UPDATE member SET nama = 'nama_baru' WHERE id_member = 1 OR id_member = 2UPDATE member SET nama = 'nama_baru' WHERE id_member = 1 OR id_member = 2 OR id_member = 3


Perintah MySQL WHERE, GROUP BY, HAVING, ORDER BY


Contoh kombinasi perintah MySQL WHERE, GROUP BY, HAVING, ORDER BY dalam satu query


Code:
SELECT   tabel_1.username,   tabel_2.user_id,   SUM(tabel_2.balance) AS x_total_balanceFROM   tabel_2   JOIN tabel_1 ON tabel_2.user_id = tabel_1.user_idWHERE   tabel_2.stocks < 31GROUP BY   tabel_2.user_idHAVING   x_total_balance BETWEEN 1 AND 10000ORDER BY   tabel_2.user_id ASC
Jangan lupa GROUP BY harus diletakkan lebih dahulu, setelah itu baru HAVING.
HAVING mirip seperti WHERE, hanya digunakan untuk pengkondisian kolom yang berisi fungsi semacam SUM(), MAX(), MIN(), AVG(), dan lain-lain.

_________________________
Kembali Ke Atas Go down
Lihat profil user http://www.bisiktetangga.co.cc/
avatar
harry170891
Administrator

Jumlah posting : 212
Reputasi : 11
Join date : 04.12.10
Age : 26
Lokasi : Bandung, Indonesia

PostSubyek: Re: MySQL Corner - Tutorial, Tips, dll    Wed Sep 28, 2011 11:36 am

Untuk file dokumen tentang SQL lengkapnya.

Silahkan [You must be registered and logged in to see this link.]

Daftar Isi :

1. Membangun Database dan Mengatur Keamanannya
2. Tabel
3. Memanipulasi Data
4. Fungsi dalam SQL
5. View dan Index
6. Trigger
7. Transact - SQL
8. Stored Procedure

_________________
[You must be registered and logged in to see this image.]

mau tanda pengenal postinganmu seperti ini? [You must be registered and logged in to see this link.]
Kembali Ke Atas Go down
Lihat profil user http://www.bisiktetangga.co.cc/
 

MySQL Corner - Tutorial, Tips, dll

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
Bisik Tetangga :: Komputer :: Software Developer-