Friday, April 27, 2012

    Perintah perintah yang ada dalam MYSQL


    SELECT – mengambil data
    DELETE – menghapus data
    INSERT – menyisipkan data
    UPDATE – mengubah data

    # TIPE KARAKTER :
    CHAR: Teks dengan maksimal 255 karakter.
    Contoh : Nip CHAR(5), field Nip akan disimpan  fix 5 karakter, walaupun data yg diinput tdk = 5 karakter.
    Jika data yang dimasuk
    VARCHAR: Teks maksimal 255 karakter dan bersifat variabel
    Contoh : Nama VARCHAR(35), field Nama akan disimpan  maks 35 karakter, jika data yg diinput <35 karakter, data akan disimpan sepanjang data yang diinputkan saja
    TEXT: Teks dengan panjang maksimal 65535


    # TIPE BILANGAN :
    TINYINT: - signed -> -128 s/d 127
    - Unsigned -> 0 s/d 255
    SMALLINT: - signed -> -32768 s/d 32767
      - Unsigned -> 0 s/d 65535
    INT atau INTEGER : - signed 2147683648 s/d 2147683647
         - Unsigned 0 s/d 4294967295
    BIGINT: Bilangan 8 byte
    FLOAT: Bilangan pecahan (4 byte)
    DOUBLE atau REAL: Bilangan pecahan (8 byte)
    DECIMAL(M, D) atau NUMERIC(M, D): Bilangan pecahan

    # DATE: Tanggal
    DATETIME: Waktu (tanggal dan jam)
    TIME : Jam
    ENUM(‘nilai1’, ‘nilai2’, …): Nilai enumerasi
    BOOLEAN: tipe benar atau salah
    NOT NULL : Tidak boleh kosong
    PRIMARY KEY: Kunci primer
    AUTO_INCREMENT: Nilai naik secara otomatis tanpa diisi

    # Operator
    = Sama dengan
    > Lebih dari
    < Kurang dari
    >= Lebih dari atau sama dengan
    <= Kurang dari atau sama dengan
    <> Tidak sama dengan

    # Konjungsi
    and = dan
    or = atau
    not = tidak / bukan
    between = diantara
    in = cocok/ sma dgn
    not in = tdk cocok

    # LIKE: data menurut awalan, akhiran, atau penggalan suatu kata atau suku-kata
    1.) 'A%' : Berawalan A
    2.) '%A' : Berakhiran A
    3.) '%s%' : Mengandung S
    4.) '%i_n%' : mengandung i diikuti dengan sebuah huruf apa saja dan kemudian diikuti dengan n

    NOT LIKE digunakan untuk kebalikan dengan LIKE

    # Tanda seperti % dinamakan wildcard
    Wildcard % Cocok dengan nol, satu, atau sejumlah karakter apa saja

    # REGEXP hanya ada pada MySQL
    Wildcard [ ] digunakan untuk mencocokkan dengan sebuah karakter apa saja yang terdapat dalam tanda tsb
    Contoh:
    SELECT Nama FROM Pribadi WHERE Nama REGEXP “^[SDA]”;
    -> Yang berawalan dengan A/S/D

    #   $ pada REGEXP berarti berakhiran
    Contoh:
     REGEXP “[IA]$”;
    -> Yang berakhiran dengan A/I

    # AS
     untuk mengganti nama kolom pada tampilan SELECT.
    Contoh:
    SELECT NIP AS "NOMOR INDUK PEGAWAI" FROM PRIBADI;


    # UPDATE digunakan untuk mengganti data pada tabel
    Bentuk dasar:
    UPDATE nama_tabel SET nama_field = nilai, nama_field = nilai, … WHERE nama_field = nilai
    Contoh:
        UPDATE Bagian
    SET Nama_Bag = ”Teknologi Informasi"
    WHERE Kode_Bag = ”1";

    # Format: ‘Tahun/Bulan/Tanggal’
    Contoh:
    SELECT Nama FROM Pribadi WHERE Tgl_lahir > ‘1970/12/25’;

    # Bentuk: WHERE kondisi
    Contoh:
    SELECT Nip FROM Pekerjaan WHERE Gaji >1000000;

    # Pencarian NULL
    ~ Gunakan IS NULL untuk mencari NULL:
    SELECT * FROM pribadi
    WHERE alamat IS NULL;
    ~ Gunakan IS NOT NULL untuk mencari yang tidak NULL:
    SELECT * FROM pribadi WHERE alamat IS NOT NULL;

    # Menampilkan Data Secara Unik
    Untuk menghilangkan NULL:

    SELECT DISTINCT Kota FROM Pribadi WHERE Kota IS NOT NULL;

    # Klausa ORDER BY berguna untuk mengurutkan data
    Contoh:
    SELECT Nama  FROM Pribadi ORDER BY Nama;

    # SELECT Nama  FROM Pribadi ORDER BY Nama DESC;

    GROUP BY berguna untuk melakukan pengelompokan data
    Contoh:
    SELECT Kota FROM Pribadi GROUP BY Kota;

    # LIMIT & OFFSET
     membatasi jumlah baris yang ditampilkan dalam SELECT.
    Contoh:
    ~ Hanya menampilkan 5 baris pertama:
    SELECT * FROM pribadi ORDER BY NIP LIMIT 5;
    ~ Menampilkan 2 baris setelah melewati 2 baris pertama:
    SELECT * FROM pribadi ORDER BY NIP LIMIT 2 OFFSET 2;

    Perhatian:
    ~ penggunaan LIMIT sebaiknya selalu digunakan
    bersama dengan ORDER BY,
    sehingga urutan yang ditampilkan akan selalu konsisten.
    ~ LIMIT dan OFFSET sangat berguna
    dalam tampilan (misalnya dgn PHP atau JSP)
    agar tampilan data tidak terlalu besar dan bisa lebih rapi.
    Tampilan data yang banyak
    bisa diatur dan dibagi menjadi beberapa halaman (pages).

    # Klausa Having
    Berguna untuk menentukan kondisi bagi GROUP BY
    Cnth:
    SELECT Kota FROM Pribadi GROUP BY Kota HAVING  Kota IS NOT NULL ;

    # Fungsi Agregat
    AVG = nilai rata2
    COUNT = menghitung cacah data
    MAX = nilai terbesar
    MIN = nilai terkecil
    SUM =  penjumlahan data

    # Menghitung gaji rata-rata
    SELECT AVG(Gaji) FROM Pekerjaan;
    Menghitung gaji per bagian
    SELECT Kode_Bag, AVG(Gaji) FROM Pekerjaan GROUP BY Kode_Bag;
    Menghitung gaji terbesar
    SELECT MAX(Gaji) FROM Pekerjaan;
    Menghitung total gaji
    SELECT SUM(Gaji) FROM Pekerjaan;

    # Gunakan AS untuk memberi alias field
    Contoh:
    SELECT MAX(Gaji) As Maks FROM Pekerjaan;

    # Query Dgn Beberapa Tabel
    Contoh:
    SELECT Pribadi.NIP, Pribadi.Nama, Pekerjaan.Gaji
    FROM Pribadi, Pekerjaan
    WHERE Pribadi.NIP = Pekerjaan.NIP;

    # Fungsi String
    ~ LENGTH(str) / CHAR_LENGTH(str)
    mnghitung jml pnjng karakter
    ~ LEFT (str,jml)
    Mengambil sejumlah karakter dari sebelah kiri
    ~ RIGHT(str,jml)
    Mengambil sejumlah karakter dari sebelah kanan
    ~ MID (str, pos, jml)
    Mengambil sejumlah karakter dari posisi tertentu (awal string = 1)
    ~ LOWER (str)
    Mengubah huruf besar menjadi huruf kecil
    ~UPPER(str)
    Mengubah huruf kecil menjadi huruf besar
    ~ CONCAT(str1,str2,..., strN)
    Meggabungkan string
    ~ TRIM([BOTH | LEADING | TRAILING] [karakter] FROM str)
    Menghilangkan karakter tertentu dari awal. TRAILING berarti mencari di akhir, BOTH berarti di awal dan diakhir. Defaultnya adalah BOTH.


    #Fungsi Numeric
    ~ FLOOR(bil)
    Membulatkan bilangan ke bawah
    ~ CEIL (bil)
    Membulatkan bilangan ke atas
    ~ ROUND(bil, ketelitian)
    Membulatkan bilangan menurut aturan normal
    ~ ABS (bi)
    Menghasilkan bilangan absolut
    ~TRUNCATE (bil, ketelitian)
    Membulatkan bilangan dengan memotong. Ketelitian bernilai negatif : -1 berarti bulatkan hingga puluhan terdekat, -2 ratusan terdekat, dst.


    # Fungsi Penanggalan
    ~ YEAR() Mengambil tahun
    ~ MONTH() Mengambil bulan
    ~ DAY() Mengambil tanggal
    ~ HOUR() Mengambil jam
    ~ MINUTE() Mengambil menit
    ~ SECOND() Mengambil detik
    ~ WEEKOFDAY() Menghasilkan 0 untuk senin s.d 6 untuk minggu
    ~ WEEKOFYEAR() Mengembalikan nilai 1 s.d 52
    ~ MONTHNAME() Mengembalikan nama bulan
    ~ NOW() Menghasilkan tanggal dan jam saat ini

    # Multiple Join
    Untuk lebih dari 2 tabel,
    tinggal diteruskan saja JOINnya.
    SELECT * FROM PRIBADI NATURAL
    JOIN PEKERJAAN NATURAL JOIN BAGIAN;

    Cara lain:
    SELECT * FROM pribadi A,
     pekerjaan B, bagian C
     WHERE A.NIP = B.NIP_nasabah AND B.Kode_Bag = C.Kode_Bag;

    Jika melakukan multiple join (lebih dari 2 tabel),
    Anda harus memperhatikan urutan join.
    Urutan table join sebaiknya mengikuti
    alur relationship yang tertera di ERD.
    Oleh karena itu, sebaiknya Anda menggunakan ERD
    agar bisa menghasilkan table join yang benar.

    No comments:

    Post a Comment

Hamutaro