Sabtu, 21 April 2018

Yuk Belajar MySQL !


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 MySQLAplikasi 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)
Contoh query diatas adalah untuk menampilkan tanggal dan waktu saat ini dengan fungsi NOW(). Query tersebut akan menghasilkan hasil yang berbeda-beda tergantung saat anda menjalankannya. Perintah SELECT kebanyakan digunakan untuk proses pembacaan data dari database, tetapi juga dapat digunakan untuk menampilkan hasil dari fungsi tambahan, seperti fungsi NOW(), yang kita coba kali ini. Hasil query MySQL akan ditampilkan dalam bentuk tabel pada cmd windows, hasil ini dikirim dari MySQL Server.

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(),
-> \c
mysql>

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