1.1. Pada saat pengoperasian MySQL, kita perlu menggunakan perintah-perintah SQL. Perintah atau statement SQL tersebut secara garis besar dibagi dalam 2 kelompok yaitu : Data Manipulation Language (DML) dan Data Definition Language (DDL).
Yang termasuk dalam DML adalah :
• SELECT – untuk mengekstrak atau memilih data dari sebuah database
• UPDATE – untuk mengupdate data dari sebuah database
• DELETE – untuk menghapus data dari sebuah database
• INSERT – untuk memasukkan data baru ke dalam sebuah database
Sedangkan DDL yang paling penting adalah :
• CREATE DATABASE – untuk membuat sebuah database baru
• ALTER TABLE – untuk menambah, menghapus atau memodifikasi kolom dari tabel yang sudah ada
• CREATE TABLE – untuk membuat tabel baru
• DROP TABLE – untuk menghapus sebuah tabel
• CREATE INDEX – untuk membuat index (kunci pencarian)
• DROP INDEX – untuk menghapus index
Perintah atau statement SQL bersifat tidak case sensitive, dengan kata lain perintah yang anda tulis dalam huruf kapital maupun huruf kecil akan di terjemahkan sama. Kemudian di setiap akhir dari perintah tersebut harus diberi tanda semi colon atau ; sehingga perintah akan dijalankan untuk setiap statement atau perintah tersebut.
Perlu diketahui bahwa database dapat terdiri dari beberapa tabel dan di setiap tabel dapat terdiri dari beberapa kolom dan beberapa data. Untuk lebih lengkapnya tentang DML dan DDL dapat dilihat disisni
1.2 PERINTAH DASAR DALAM MYSQL
a. AS
AS biasa digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti. AS digunakan setelah nama kolom yang akan diganti yang kemudian diikuti dengan nama penggantinya.
Berikut struktur querynya : select namakolom as namakolompengganti from namatabel;
b. AND dan OR
Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada konteks yang sederhana. Berikut ini kita akan mencoba menggunakan WHERE untuk konteks yang lebih kompleks lagi, anak kalimat where yang kompleks akan bekerja dengan baik dengan menggunakan kata AND dan OR.
Berikut struktur SQL untuk penampilan data :
select * from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
select * from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
select * from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
select * from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
c. BETWEEN
Fungsi BETWEEN dalam SQL Server merupakan pernyataan kejadian diantara
dua kriteria. Fungsi tersebut bisa digunakan untuk field yang bertipe
number. BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi.
Logika operator BETWEEN sebagai berikut :
1. Nilai a dalam formula “a BETWEEN x AND y” indentik dengan “a >= x AND a <= y“
2. “a NOT BETWEEN x AND y “ identik dengan “a < x OR a > y”
Berikut Struktur yang digunakan :
select * from nama_tabel where nama_kolom between ‘nilai_awal’ and ‘nilai_akhir’;
select * from nama_tabel where nama_kolom between ‘nilai_awal’ and ‘nilai_akhir’;
d. IN dan NOT IN
Operator IN pada MySQL merupakan operator yang memungkinkan kita untuk
memilih data menggunakan perintah SELECT dimana nilai yang dijadikan
sebagai persyaratan dapat lebih dari satu nilai. Jadi operator ini akan
melengkapi persyaratan WHERE.
Berikut Struktur yang digunakan
Select * from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13, kata_kunci14);
Berikut Struktur yang digunakan
Select * from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13, kata_kunci14);
e. LIKE
Operator LIKE pada MySQL akan kita gunakan pada saat membuat syarat
pencarian atau pemilihan sebuah entry atau data sesuai dengan keinginan
kita. Jadi operator LIKE akan menempel pada perintah SELECT bersyarat. Dalam MySQL, LIKE lebih condong menyerupai dan
menyerupai berarti hanya mirip-mirip atau tidak sama persis seperti pada
saat kita memilih entry atau data menggunakan WHERE
namakolom=’datakolom’.
Misal :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
1 Bambang Pemuda 123 Bekasi Jawa Barat
2 Agung Sudirman 57 Bandung Jawa Barat
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah
Misal :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
1 Bambang Pemuda 123 Bekasi Jawa Barat
2 Agung Sudirman 57 Bandung Jawa Barat
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah
Berikut aplikasi penggunaan LIKE pada MySQL :
• Mencari Mahasiswa yang berasal dari kota yang berawalan dengan huruf s. Pencarian kita kunci menggunakan ‘s%’ dimana % mewakili sembarang huruf setelah huruf s.
SELECT * FROM Mahasiswa
WHERE Kota LIKE ‘s%’
Maka hasilnya adalah :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah
• Mencari Mahasiswa yang berasal dari kota yang berawalan dengan huruf s. Pencarian kita kunci menggunakan ‘s%’ dimana % mewakili sembarang huruf setelah huruf s.
SELECT * FROM Mahasiswa
WHERE Kota LIKE ‘s%’
Maka hasilnya adalah :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah
• Mencari mahasiswa yang berasal dari kota yang mengandung kata ara. Pencarian kita kunci menggunakan ‘%ara%’ dimana % mewakili sembarang huruf sebelum dan sesudah kata ara.
SELECT * FROM Mahasiswa
WHERE Kota LIKE ‘%ara%’
Maka hasilnya adalah:
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
4 Tony Kelud 17 Semarang Jawa Tengah
Berikut struktur SQL untuk pencarian data menggunakan LIKE :
select * from nama_tabel where nama_kolom like ‘operator’;
select * from nama_tabel where nama_kolom like ‘operator’;
f. REGEXP
Regular Expression atau Regex, kepanjangan
dari regular expression, berfungsi sama dengan operator like, namun
lebih disempurnakan lagi. Dapat juga diartikan sebuah teknik atau cara untuk mencari persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih sering digunakan untuk string.
Dalam pengoperasiannya, operator ini
menggunakan kode-kode tambahan seperti dibawah ini :
Berikut struktur MySQL untuk pencarian data menggunakan REGEXP :
Select
* from nama_tabel where nama_kolom regexp ‘operator_regexp dan patern’;
g. DISTINCT
DISTINCT sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi..
Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut struktur perintah dasar SQL :
select distinct nama_kolom from nama_tabel;
Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut struktur perintah dasar SQL :
select distinct nama_kolom from nama_tabel;
h. LIMIT
LIMIT dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi seperti WHERE. Bisa dikatakan LIMIT adalah untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama, sedangkan OFFSET digunakan untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET. Berikut struktur perintah dasar SQL :
select * from nama_tabel limit 2;
Atau
select * from nama_tabel offset 2;
select * from nama_tabel limit 2;
Atau
select * from nama_tabel offset 2;
a. UNION
UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Dapat juga berarti perintah Union ini digunakan untuk menggabungkan 2 atau lebih hasil dari perintah SELECT pada MySQL.
b. INTERSECT
INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax : SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.
c. EXCEPT / Set Difference
EXCEPT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax : SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.
Ketiganya digambarkan seperti ini:
2. Hasil Praktikum
2.1 Menggunakan PostgreSQL
Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.
1. Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.
2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki
3. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.
--> Menampilkan mahasiswa nomor 16-18, dan yang bukan nomor 16-18 menggunakan BETWEEN
--> Menampilkan mahasiswa nomor 16-18, dan yang bukan nomor 16-18 tanpa menggunakan BETWEEN
4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8. Tampilkan data mahasiswa 3 baris saja.
9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal
10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam
b. Tabel organ_luar
Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT
3. Tugas Rumah
3.1 Menggunakan MySQL
Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.
1. Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.
2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki
3. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.
4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8. Tampilkan data mahasiswa 3 baris saja.
9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal
10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam
b. Tabel organ_luar
Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT
3.2 Evaluasi dari DBMS MySQL dan PostgreSQL
4. Kesimpulan dan Saran
4.1 Kesimpulan
Pada praktikum kali ini, kita sudah banyak belajar operasi-operasi
dasar pada SQL yaitu AS untuk memberi nama kolom dengan nama lain, AND dan OR,
BETWEEN untuk menentukan lebar nilai, IN untuk pencocockan, LIKE untuk mewakili
salah satu huruf atau lebih huruf,
REGEXP untuk mencari persamaan data dan memanipulasi, DISTINCT untuk
mengembalikan hasil sebuah query, LIMIT untuk membatasi jumlah output, UNION
untuk menggabungkan hasil dua buah query menjadi satu kolom, EXCEPT untuk
menampilkan hanya query pertama, dan INTERSECT untuk menampilkan seluruh isi
data yang memiliki kesamaan diantara kesamaan diantara hasil kedua query
tersebut.
4.2 Saran dan Manfaat Bagi Pembaca
Setelah melakukan dua
kali percobaan, maka akan terlihat bahwa pada PostgreSQL dan MySQL tidak semua
sama. Pada praktikum kali ini, perbedaan terlihat pada operasi REGREXP, EXCEPT,
dan INTERSECT. Semoga postingan kali ini membantu pembaca agar dapat belajar
database dengan mudah dan menyenangkan.
Daftar Pustaka
- Modul Praktikum Desain Basis Data
- Sanjaya, Ridwan. 2005. Pengolahan Database MySQL dengan Java 2. Yogyakarta: Andi
- Nugroho, Bunafit. 2005. Administrasi Database MySQL. Yogyakarta:Graha Ilmu
- http://yulisoraya.wordpress.com/2011/01/13/perintah-dasar-sql/
- http://ustnahuswatun.blogspot.com/2013/11/perintah-dasar-pada-mysql.html
Tidak ada komentar:
Posting Komentar