Dalam pembahasan kali ini, kita akan membahas tentang Structured Query Language (SQL) yang dapat dikatakan sebagai bahasanya database. Hampir semua aplikasi database relational, seperti MySQL, Oracle, dan Microsoft SQL Server menggunakan SQL untuk menangani perintah-perintah dalam operasional database.
Pengertian Structured Query Language (SQL)
SQL (Structured Query Language) adalah bahasa pemrograman khusus yang digunakan untuk memanajemen data dalam RDBMS. SQL biasanya berupa perintah sederhana yang berisi instruksi-instruksi untuk manipulasi data. Perintah SQL ini sering juga disingkat dengan sebutan ‘query‘.
Jenis-jenis perintah SQL
Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan fungsinya.
Terdapat 3 jenis perintah dasar SQL : Data Definition Language, Data Manipulation Language dan Data Control Language.
a. Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP, ALTER, dan RENAME.
b. Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus, memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE.
c. Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk diantaranya : GRANT dan REVOKE.
Selain ketiga jenis perintah SQL, terdapat juga 2 jenis SQL tambahan : Transaction Control Language, dan Programmatic SQL.
a. Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi. Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua, atau tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah : COMMIT, ROLLCABK, dan SET TRANSACTION.
b. Programmatic SQL berkaitan dengan sub program (stored procedure) maupun penjelasan mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN, PREPARE, dan DESCRIBE.
Sebagai permulaan,yang perlu kamu lakukan adalah 'Download Aplikasi MySQL' Aplikasi MySQL Community Server dapat di download di situs resmi MySQL: http://dev.mysql.com/downloads/mysql/.
Nah setelah koneksi ke MySQL Server dan MySQL Client berhasil, saatnya kita mempelajari perintah-perintah MySQL. Untuk Tutorial Belajar MySQL: Dasar Penulisan Query MySQL ini kita akan mempelajari format dan cara penulisan perintah (query) MySQL dengan cmd Windows, dan beberapa tata cara penulisan (syntax) MySQL
Menjalankan Perintah (query) MySQL
Setiap perintah, atau sering juga disebut “query” di dalam MySQL harus diakhiri dengan tanda titik koma “;” dan akan dieksekusi setelah tombol Enter ditekan. Selama query MySQL belum diakhiri dengan “;” maka itu dianggap masih dalam satu perintah.
Ketika kita menjalankan sebuah perintah MySQL (query), query tersebut akan dikirim dari MySQL Client ke MySQL Server untuk di proses, setelah proses selesai, hasilnya akan dikirim kembali ke MySQL Client.
Agar lebih mudah memahami query MySQL, kita akan langsung praktek beberapa query sederhana. Silahkan jalankan MySQL Server dan masuk sebagai user root dari MySQL Client (tutorialnya telah kita bahas pada Tutorial Belajar MySQL: Cara Menjalankan MySQL Server, dan Tutorial Belajar MySQL: Cara Menjalankan MySQL Client). Setelah masuk ke dalam MySQL Client (ditandai dengan awalan mysql> pada jendela cmd), kita akan mencoba beberapa perintah MySQL sederhana. Ketikkan perintah berikut:
1
2
3
4
5
6
7
8
| mysql> SELECT NOW();+---------------------+| NOW() |+---------------------+| 2014-11-13 09:21:08 |+---------------------+1 row in set (0.69 sec) |
Selain hasil dalam bentuk tabel, hampir setiap perintah query, MySQL juga akan menampilkan banyaknya baris yang dipengaruhi dan lamanya waktu eksekusi. Pada contoh kita diatas, ditampilkan keterangan: 1 row in set (0.00 sec). Keterangan ini berarti query kita diproses selama 0 detik (0 second), dan mempengaruhi 1 baris (1 row). o detik disini bukan berarti query tersebut akan tampil seketika, namun karena perintah yang sederhana, MySQL (mungkin) hanya membutuhkan waktu 0,001 sekian detik untuk memproses (dibulatkan menjadi 0,00).
Sebagai contoh query lainnya, kita akan mencoba untuk menampilkan nama user yang sedang aktif dan versi MySQL Server yang digunakan pada saat ini. Untuk menampilkan keterangan ini, MySQL menyediakan fungsi USER() dan VERSION()
1
2
3
4
5
6
7
8
| mysql> SELECT NOW(),USER(),VERSION();+---------------------+----------------+------------+| NOW() | USER() | VERSION() |+---------------------+----------------+------------+| 2014-11-13 09:21:37 | root@localhost | 5.6.21-log |+---------------------+----------------+------------+1 row in set (0.11 sec) |
Dapat dilihat dari contoh query tersebut, untuk setiap fungsi dipisahkan dengan tanda koma “,”. Penulisan perintah (query) MySQL juga tidak harus dalam satu baris. Misalnya, kita bisa menjalankan query berikut:
1
2
3
4
5
6
7
8
9
10
| mysql> SELECT NOW(), -> USER(), -> VERSION();+---------------------+----------------+------------+| NOW() | USER() | VERSION() |+---------------------+----------------+------------+| 2014-11-13 09:22:50 | root@localhost | 5.6.21-log |+---------------------+----------------+------------+1 row in set (0.00 sec) |
Setelah fungsi NOW() pertama, tekan Enter untuk pindah baris, lalu ketikkan perintah sambungannya. Selama kita belum mengakhiri perintah tersebut dengan “;”, maka MySQL menganggap baris berikutnya adalah sambungan dari baris sebelumnya. Pemisahan perintah seperti diatas akan sangat berguna jika kita menuliskan query yang panjang, sehingga lebih mudah dibaca. Tanda mysql> akan berubah menjadi -> selama kita belum mengakhiri query tersebut dengan tanda titik koma “;”. Jika kita telah membuat query MySQL, namun memutuskan untuk membatalkannya, dapat dilakukan dengan kode “\c”.
Contoh querynya:
1
2
3
4
5
| mysql> SELECT NOW(),-> USER(),-> \cmysql> |
Dapat anda perhatikan bahwa tanda -> akan kembali menjadi mysql> yang menandakan MySQL telah siap untuk perintah yang baru. Selain menggunakan “;”, query MySQL juga akan mengeksekusi perintah juga diakhiri dengan tanda “\g”.
1
2
3
4
5
6
7
8
| mysql> SELECT NOW(),USER(),VERSION()\g+---------------------+----------------+------------+| NOW() | USER() | VERSION() |+---------------------+----------------+------------+| 2014-11-13 09:23:19 | root@localhost | 5.6.21-log |+---------------------+----------------+------------+1 row in set (0.00 sec)
|
Tugas
Untuk Anda
1. Buatlah
database dengan nama
‘dbmhs’. Selanjutnya buatlah
tabel untuk keperluan penyimpanan data perkuliahan mahasiswa dalam
database tersebut.
Berikut ini tabel-tabelnya:
Nama Tabel : ‘MHS’
Nama Field :
nim ; namaMhs; tglLahir ;alamat
Nama Tabel :
Nama Field :
kodeMK; namaMK; sks ;smt
Nama Tabel :
Nama Field :
nim ; kodeMK ; nilai
Tentukan sendiri
tipe data yang cocok
untuk setiap fieldnya,
dan tentukan PRIMARY KEY nya.
Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya.
2. Selanjutnya sisipkan ke
dalam masing-masing tabel 5 buah record menggunakan perintah SQL



3. Tuliskan perintah SQL untuk proses berikut
ini
- Hapus data mahasiswa yang
bernim ‘M0197001’

- Hapus matakuliah yang
memiliki jumlah SKS 4 yang ada di semester 2.

- Hapus matakuliah yang
memiliki jumlah SKS 2 s/d 4

- Hapus matakuliah yang
memiliki jumlah SKS 4 atau di semester 3

- Ubahlah nilai
matakuliah berkode ‘K001’
yang diambil mahasiswa
bernim ‘M0197001’ menjadi 3.

- Ubahlah semua nilai
mahasiswa yang mengambil matakuliah berkode ‘K001’ menjadi satu lebihnya dari
nilai semula. Contoh nilai sebelumnya 2, maka diubah menjadi 2+1 = 3.



- Tampilkan data matakuliah (kode matakuliah, nama matakuliah) yang berada di semester 2

Tidak ada komentar:
Posting Komentar