Fungsi Built in di MySQL
Fungsi adalah fasilitas yang disediakan oleh database secara umum untuk memanipulasi data, seperti mencari jumlah data, rata-rata nilai dan lain-lain. Fungsi memebuat user bisa memanfaatkan server untuk melakukan pemrosesan, ’Server Side Processing’.
Adapun ciri- ciri fungsi dalam yang terdapat dalam Fungsi dalam MySQL
adalah sebagai berikut.
1) Fungsi dapat ditulis dalam huruf kecil ataupun huruf
kapital.
2) Tidak ada spasi antara Fungsi dengan tanda
kurung pembuka.
3) Jika dibutuhkan lebih dari satu
argumen maka setiap argumen dipisahkan oleh tanda koma.
Fungsi-fungsi dalam MySQL dapat dikelompokkan menjadi bebarapa bagian, yaitu:
Baca Juga: MySQL - Pengertian dan Tipe Data yang ada di MySQL
1) Fungsi Sistem
Fungsi sistem
adalah kelompok Fungsi yang memberikan informasi tentang pemakaian server
database. Kelompok Fungsi ini terdiri dari :
a. DATABASE()
Fungsi ini digunakan untuk memberikan informasi database apa yang
sedang digunakan oleh pemakai.
b. LAST_INSERT_ID()
Digunakan untuk menampilkan
informasi data yang telah dihasilkan (di-generate) oleh MySQL pada kolom yang
menggunakan tipe data AUTO INCREMENT.
c. SESSION_USER()
Fungsi yang digunakan untuk
manampilkan informasi pemakai yang sedang melakukan akses ke dalam server
MySQL. Kadang digunakan oleh pemakai untuk mengetahui siapa yang sedang login
ke dalam database yang sedang ditinggalkan oleh pemakainya, atau saat ingin
mengetahui pengguna sedang memakai account user milik siapa. Fungsi ini
memiliki kesamaan dengan fungsi SYSTEM_USER() dan USER().
d. SHOW DATABASE
Fungsi ini dapat digunakan
untuk melihat database yang sudah ada dalam MySQL.
e. USE NAMA_DATABASE
Apabila seorang pemakai
telah berada di dalam lingkungan Mysql, pemakai tersebut dapat memilih
database mana yang akan dikelola. Untuk keperluan tersebut pemakai dapat
menggunakan perintah use diikuti nama database yang akan dikelola.
NAMA_DATABASE adalah nama dari database yang ada pada MySQL.
f. SHOW TABLES
Fungsi ini digunakan untuk
melihat tabel apa saja yang ada di dalam suatu database.
g. DESCRIBE NAMA_TABEL
Fungsi ini digunakan
untuk melihat struktur tabel yang ada dalam suatu database. NAMA_TABEL adalah
tabel yang ingin dilihat strukturnya seperti field-field dan tipe data yang
ada dalam tabel tersebut.
h. VERSION()
Fungsi yang digunakan untuk
mengetahui versi dari server MySQL yang sedang digunakan.
Baca Juga: MySQL - JOIN
2) Fungsi Karakter
Fungsi
Karakter – Fungsi yang digunakan untuk melakukan manipulasi data karakter.
MySQL menyediakan banyak Fungsi built-in untuk melakukan manipulasi teks,
diantanya adalah sebagai berikut.
a. LOWER(x)
Fungsi
ini akan mengkonversi semua karakter dalam string menjadi huruf kecil
semuanya.
Select LOWER(’LowerCase’)
Kode program di atas adalah sintak untuk mengubah suatu huruf menjadi huruf kecil.
b. UPPER(x)
Fungsi ini digunakan untuk
mengkonversi semua karakter dalam string menjadi huruf besar semuanya.
Select UPPER(’LowerCase’)
Kode program di atas adalah sintak untuk mengubah suatu huruf atau karakter menjadi huruf kapital.
c. ASCII(x)
Digunakan untuk menghasilkan
kode ASCII untuk karakter pertama dalam suatu string, x adalah karakter atau
string.
Select ASCII(’Teks’);
Kode program ASCII adalah kode program yang digunkana untuk menampilkan nilai ASCII dari teks.
d. CONCAT(x,y,z,…)
Fungsi ini digunakan untuk
menggabungkan beberapa string yang menjadi satu string. akan tetapi apabila
ada nilai NULL dalam parameter, maka hasil dari CONCAT adalah NULL.
select concat(x, y, z);
Kode program concat adalah kode program yang digunkan untuk menjalankan fungsi Concat
e. SUBSTRING(x,m,n)
Digunakan untuk mendapatkan
karakter sebanyak n karakter pada string x dimulai dari karakter yang ke m.
Jika m bilangan negatif maka proses pengambilan karakter dimulai dari sebelah
kanan string.
Select substring(’kata’,mulai_dari,sampai);
Kode program substring merupakan sintak yang digukanan untuk membuat sebuah fungsi substring
f. LENGTH(x)
Fungsi ini digunakan untuk mendapatkan
panjang karakter. Fungsi ini akan menghitung panjang dari sebuah karakter yang
diinputkan
Select length(’length’);
Kode program length merupakan sintak yang digunakan untuk menjalankan fungsi length
g. LPAD/RPAD(x,y,z)
Fungsi ini digunakan untuk
menambahkan string z ke string x disebelah kiri atau kanan string x dan jumlah
karakter string z menjadi sebanyak y, proses penambahan dilakukan apabila
jumlah karakter x lebih kecil dari y. Contoh:
Select lpad(’base’,8,’da’);
Select rpad(’base’,8,’da’);
Kode program di atas apabila dijalankan akan menghasilkan hasil dadabase dan basedada
h. TRIM([[BOTH atau LEADING atau TRAILING][x][FROM]y)
Fungsi
Trim digunakan untuk membuang karakter x baik di depan atau di belakang atau
kedua sisi string y. Contoh:
Select trim(leading from ‘ database’);
Select trim(trailing from ‘ database ‘);
Select trim(both from ‘ database ‘);
Select trim(both ‘d’ from ‘database’);
Select trim(‘ database ‘);
Kode program di atas apabila dijalankan akan menampilkan hasil yaitu database, database, database, atabase, database.
Baca Juga: Langkah yang Harus Dilakukan dalam Membuat Sebuah Program Basisdata/Database
3) Fungsi Agregat
Fungsi agregat (aggregate)
adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal
sebagai hasilnya. Berikut fungsi-fungsi dalam query aggregation.
a.
SUM
SUM merupakan perintah yang digunakan untuk melakukan
penjumlahan disuata data, seperti harga, stok, dan jumlah pembeli. Perintah
SUM dapat dijalankan dengan menggunakan sintak SELECT SUM([nama_kolom]) FROM
[nama_tabel] WHERE [kondisi];. SUM juga dapat dijalankan tanpa menggunakan
kondisi(Where).
SELECT SUM(harga) FROM barang
WHERE jenis_barang='elektronik';
Kode Program SUM merupakan sintak yang dapat digunakan untuk melakukan
penjumlahan terhadap harga yang terdapat di tabel barang ketika kolom
jenis_barang berisikan data elektronik.
SUM |
Gambar SUM merupakan tampilan setelah Kode Program SUM dijalankan. Data yang dijumlahkan dalam tabel tersebut adalah data yang memiliki jenis_barang elektronik.
b. COUNT
COUNT adalah perintah yang digunakan untuk
menghitung banyaknya baris data yang ada dalam sebuah kolom. Jika data pada
kolom nama terdapat lima nilai maka ketika meggunakan sintak COUNT ini akan
muncul hasil 5.
SELECT COUNT(id_barang) FROM transaksi WHERE id_barang = 11;
Kode Prorgram COUNT merupakan sintak yang digunakan untuk menghitung jumlah baris pada kolom id_barang, yang berada di tabel transaksi. Jumlah baris yang akan dihitung adalah baris yang memiliki id_barang = 11.
COUNT |
Gambar COUNT merupakan tampialn dari Kode Program COUNT yang sudah dijalankan. Data yang diperoleh oleh sintak pada Kode Program COUNT adalah 12.
c. AVERAGE
AVERAGE merupakan perintah yang digunakan
untuk mencari rataan dari sebuah kolom yang sudah diseleksi. Perintah AVERAGE
dapat dijalankan dengan sintak SELECT AVG([nama_kolom]) FROM [nama_tabel]
WHERE [nama_tabel];
SELECT AVG(stok) FROM barang WHERE stok < 50;
Kode Program AVERAGE merupakan sintak yang digunakan untuk menghitung
nialai rataan dari stok_barang dengan kondisi stok melebihi 50.
AVERAGE |
Gambar AVERAGE merupakan tampilan setelah Kode
Program AVERAGE yang sudah dijalankan. Data hasil yang muncul adalah
18,1667 yang merupakan rataan dari stok yang ada.
d. MAX
MAX merupakan perintah yang digunakan untuk
mencari nilai maksimal atau nilai tertinggi yang terdapat dalam data pada
sebuah kolom tabel
SELECT MAX(harga) FROM barang;
Kode Program MAX merupakan sintak yang digunakan untuk mencari harga tertinggi dari data yang ada di kolom tabel harga.
Gambar MAX |
Gambar MAX merupakan tampilan Kode Program MAX yang
telah dijalankan. Data yang muncul pada hasi run dari Kode Program MAX
adalah nilai tertinggi dari harga barang.
e. MIN
MIN merupakan perintah yang digunakan untuk
mencari nilai minimal atau nilai terkecil yang terdapat dalam data pada sebuah
kolom tabel.
SELECT MIN(harga) FROM barang;
Kode Program MIN merupakan sintak yang digunakan untuk mencari harga terendeah dari data yang ada di kolom harga.
MIN |
Gambar MIN merupakan tampilan Kode Program MIN yang telah
dijalankan. Data yang muncul pada hasi run dari Kode Program MIN adalah
nilai terendah dari harga barang.
f. GROUP_CONCAT
GROUP_CONCAT merupakan perintah yang
digunakan untuk menggabungkan data yang berada dalam satu baris kolom.
SELECT GROUP_CONCAT(nama_pelanggan ) FROM pelanggan
WHERE id_pelanggan < 13;
Kode Program GROUP_CONCAT merupakan sintak yang digunakan untuk
menggabungkan nama_pelanggan dari tabel_pelanggan dimana dengin kondisi
id_pelanggan kurang dari 13.
GROUP_CONCAT |
Gambar GROUP_CONCAT merupakan tampilan Kode Program GROUP_CONCAT yang telah
dijalankan. Data yang muncul pada hasi run dari Kode Program GROUP_CONCAT
adalah nama_pelanggan yang memiliki id_pelanggann kurang dari 13, penampilan
data tidak berupa kolom-kolom melainkan dijadikan satu kolom.
Baca Juga: Jenis - jenis Key Atau Kunci dalam Relational Database
4) Fungsi Aritmatik
Fungsi operator aritmatika
dasar yang dimiliki oleh MySQL adalah; penjumlahan, pengurangan, perkalian,
dan pembagian. Operator aritmatika tersebut disertakan dalam perintah select
yang bertujuan untuk memanipulasi data yang sifatnya sederhana.
a.
Penjumlahan (+)
Digunakan untuk menjumlahkan dua buah data numerik dengan
hasil data numerik juga.
select 3+3;
Kode program di atas adalah sintak untuk melakukan penjumlahan, apabila dijalankan akan menampilkan hasil yaitu 6.
b. Pengurangan (-)
Digunakan untuk operasi pengurangan
data numerik, dimana bilangan yang sebelah kiri dikurangkan dengan yang
sebelah kanan. Menghasilkan data numerik.
select 3-3;
Kode program di atas adalah sintak untuk melakukan pengurangan, apabila dijalankan akan menampilkan hasil yaitu 0.
c. Perkalian (*)
Digunakan untuk melakukan operasi
perkalian pada data numerik dan menghasilkan data numerik.
select 3*3;
Kode program di atas adalah sintak untuk melakukan perkalian, apabila dijalankan akan menampilkan hasil yaitu 9.
d. Pembagian (/)
Digunakan untuk melakukan operasi
pembagian data numerik, dimana bilangan sebelah kiri dibagi dengan bilangan
yang ada disebelah kanan. Operasi aritmetika ini menghasilkan data numerik.
select 3/3;
Kode program di atas adalah sintak yang digunakan untuk melakukan operasi pembagian, apabila dijalankan akan menampilkan hasil yaitu 1.
e. Pembagian Sisa (%)
Digunakan untuk mendapatkan sisa
bagi dari suatu operasi pembagian, bilangan disebelah kiri dibagi dengan
bilangan yang disebelah kanan. Sisa dari hasil pembagian tersebut menjadi
hasil dari operasi ini yang biasa disebut Modulus.
Select 3%2;
Kode program di atas apabila dijalankan akan menampilkan hasil yaitu 1. Data yang ditampilkan merupakan sisa hasil bagi.
Baca Juga: Tipe-tipe Tabel yang Ada di MySQL
5) Fungsi Tanggal dan waktu
Fungsi waktu, mau
tidak mau memang harus ada dalam proses database, karena dalam proses
pengolahan data akan sangat berpotensi bersinggungan dengan waktu. Berikut
beberapa point penting dalam proses sql yang berhubungan dengan waktu
a. Fungsi Tanggal
Fungsi tanggal adalah fungsi yang digunakan untuk
menampilkan data berupa tanggal, bulan dan tahun.
a)
NOW
Fungsi ini digunakan untuk mendapatkan informasi yang menampilkan
data tanggal dan waktu saat ini.
SELECT NOW();
Kode program diatas akan menampilkan data waktu sesuai dengan perangkat yang sedang digunkan oleh user
b) CURDATE
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data tanggal saat ini.
SELECT CURDATE();
Kode program diatas merupakan kode program yang akan menampilkan data berupa tanggal dari perangkat yang digunakan user.
c) DAYOFMONTH
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data tanggal saja.
SELECT DAYOFMONTH(‘2015-04-09’);
Kode program diatas adalah sintak yang digunakan untuk menampilkah informasi day yaitu tanggal yang terdapat dalam date yang di-inputkan.
d) MONTH
Fungsi ini digunakan untuk mendapatkan
informasi bulan saja dalam berbentuk angka.
SELECT MONTH(‘2015-04-09’);
Kode program diatas merupakan sintak yang digunkan untuk menampilkan mengenai informasi bulan yang diinputkan.
e) MONTHNAME
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data nama bulan.
SELECT MONTHNAME(‘2015-04-09’);
Kode program diatasa akan menampilkan data nama bulan dari data tanggal yang dimasukan
f) YEAR
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data tahun saja
SELECT YEAR(‘2015-04-09’);
Kode program diatas adalah kode program yang digunakan untuk mencari tahun dari data tanggal yang dimasukan.
g) DAYOFYEAR
Fungsi ini digunakan untuk mendapatkan
informasi urutan hari yang dihitung dalam satu tahun.
SELECT DAYOFYEAR(‘2015-04-09’);
Kode program diatas merupakan sintak yang digunakan untuk menampilkan data urutan tahun yang ada dalam tahun dari data tanggal yang dimasukan.
h) ADDDATE
Fungsi ini digunakan untuk mendapatkan
informasi tanggal berapa setelah ditambahkan n hari kemudian.
SELECT ADDDATE(‘2015-04-09’, 10);
Kode program diatas merupakan sintak yang digunakan untuk menampilkan data dari tanggal setelah ditambahkan hari yang dingginkan.
i) DATEDIFF
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data selisih dari kedua waktu.
SELECT DATEDIFF(‘2015-04-19’, ‘2015-04-09’);
Kode Program diatas akan menampilkan selisih dari waktu antara 2015-04-19 sampai 2015-04-09
Baca Juga: Contoh Studi Kasus Penerapan DDL dan Relasi
b. Fungsi Waktu
Fungsi waktu digunakan untuk
menampilkan data waktu yaitu berupa jam, menit dan detik
a)
CURTIME
Fungsi ini digunakan untuk mendapatkan informasi yang menampilkan
data waktu saat ini.
SELECT CURTIME();
Kode program diatas merupakan sintak yang digunakan untuk menampilkan waktu dari perangkat yang digunakan oleh user.
b) HOUR
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data jam saja.
SELECT HOUR(CURTIME());
Kode program diatas merupakan sintak yang digunakan untuk menampilkan waktu berupa jam dari perangkat yang digunakan oleh user.
c) MINUTE
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data menit saja.
SELECT MINUTE(CURTIME());
Kode program diatas merupakan sintak yang digunakan untuk menampilkan waktu berupa menit dari perangkat yang digunakan oleh user.
d) SECOND
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data detik saja.
SELECT SECOND(CURTIME());
Kode program diatas merupakan sintak yang digunakan untuk menampilkan waktu berupa detik dari perangkat yang digunakan oleh user.
e) TIMEDIFF
Fungsi ini digunakan untuk mendapatkan
informasi yang menampilkan data selisih dari kedua waktu.
SELECT TIMEDIFF(‘tanggal_pertama’, ‘tanggal_kedua’);
Kode program diatas merupakan sintak yang digunakan untuk menampilkan selisih waktu dari perangkat yang digunakan oleh user.
Baca Juga: Perbedaan DELETE dan TRUNCATE | Lengkap dengan Contoh
6) Fungsi Logika
Operator logika biasanya digunakan
untuk mengambil atau menampilkan data dengan kondisi atau syarat. Adapun
operator yang termasuk kedalam operator logika, yaitu operator AND, operator
OR dan operator NOT.
a. AND
Operator AND
digunakan untuk mengambil atau menampilkan data dari table dengan kondisi atau
syarat nilai kedua-duanya harus benar (TRUE). Jika terdapat salah satu nilai
yang bernilai salah (FALSE) maka data tidak akan ditampilkan, karena tidak
memenuhi syarat. Cara penggunaannya sebagai berikut.
SELECT * FROM produk WHERE harga > 30000 AND stok > 10;
Kode program di atas akan menampilan hasil seluruh baris data yang memiliki harga lebih dari 30000 dan stok lebih dari 10. Jadi kondisi tersebut harus terpenuhi semua.
b. OR
Operator OR digunakan untuk mengambil atau
menampilkan data dari table dengan kondisi atau syarat nilai salah satunya
benar (TRUE) atau kedua-duanya. Contoh penggunaannya sebagai berikut.
SELECT * FROM produk WHERE harga > 30000 OR stok > 10;
Kode program di atas akan menampilkan hasil semua baris data pada produk yang memiliki harga lebih dari 30000 ataupun stok lebih dari 10. Boleh salah satu yang terpenuhi.
c. NOT
Operator NOT digunakan untuk mengambil atau
menampilkan data dari table dengan kondisi nilai kebalikannya. Maksudnya jika
nilai benar (TRUE) operator ini akan membalikan nilai tersebut menjadi salah
(FALSE) dan nilai salah (FALSE) inilah yang akan diambil atau ditampilkannya.
Contoh penggunaannya sebagai berikut.
SELECT *FROM produk WHERE NOT jenis_produk=’elektronik’;
Kode program di atas akan menampilkan seluruh baris pada produk yang yang jenis produknya bukan elektronik.