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