Kumpulan tutorial belajar MySQL untuk pemula, dari dasar hingga mahir.
Data Control Language (DCL) adalah perintah SQL untuk kontrol dan permission database
Perintah DCL antara lain
GRANT -> Memberikan hak akses / hak istemewa pengguna
REVOKE -> Menarik hak akses pengguna yang diberikan lewat perintah GRANT
Perintah GRANT memungkinkan pemberikan hak akses kepada pengguna
Tidak harus setiap pengguna database dapat mengakses seluruh data di database. Ada pengguna yang hanya dapat melakukan operasi di satu table saja. Bisa juga pengguna hanya dapat melakukan operasi SELECT saja tanpa bisa melakukan manipulasi data
Sebelum kita menggunakan perintah GRANT terlebih dulu kita akan buat user di database dengan perintah
CREATE USER 'nama_user'@'localhost' IDENTIFIED BY 'password';
Note : untuk membuat user baru anda harus masuk sebagai root. Pahami cara masuk MySQL/MariaDB melalui terminal / command prompt menggunakan user root di Tutorial MySQL untuk pemula
Misal kita akan bikin user mhscupu dengan password 12345
> CREATE USER 'mhscupu'@'localhost' IDENTIFIED BY '12345';
Query OK, 0 rows affected (0.00 sec)
Login ke MySQL dengan username mhscupu
$ ./mysql -u ngodingdata -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 209 Server version: 10.1.38-MariaDB Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Saat akan melihat list database, user mhscupu tidak dapat melihat keseluruhan data (berbeda jika melihat database dengan akses root)
Cara penulisan perintah SELECT
SELECT field1, field2, field3, ...
FROM nama_table;
Jika ingin membaca semua field table gunakan tanda *
SELECT *
FROM nama_table;
Misal kita telah membuat database universitas dengan table mahasiswa seperti materi DDL dan mengisi nilai dengan materi DML
INSERT INTO mahasiswa
VALUES
(21400200,"faqih","bandung"),
(21400201,"ina","jakarta"),
(21400202,"anto","semarang"),
(21400203,"dani","padang");
Kita gunakan perintah SELECT untuk mengambil data mahasiswa dan menampilkannya di layar
Jika hanya ingin menampilkan beberapa atribut dari mahasiswa maka harus ditentukan field yang ingin di-SELECT
Ada beberapa klausa dan operator penting untuk melakukan filter dan aggregasi dari perintah SELECT antara lain
Klausa / Operator | Makna |
---|---|
WHERE | Filter pencarian data |
AND, OR, NOT | Operator pelengkap WHERE |
LIKE | Operator pelengkap WHERE |
ORDER BY | Mengurutkan data secara A-Z / Z-A |
LIMIT | Membatasi hasil pencarian |
AGGREGATION | Fungsi agregasi |
GROUP BY | Mengelompokkan nilai berdasarkan field |
WHERE digunakan sebagai pelengkap SELECT untuk filter pencarian data.
SELECT field1, field2, field3, ...
FROM nama_table
WHERE kondisi
Misal mencari data mahasiswa yang bernama anto
Klausa WHERE dapat dikombinasikan dengan operator AND, OR dan NOT
Operator AND akan menghasilkan nilai TRUE jika kedua pernyataan bernilai benar
SELECT field1, field2, field3, ...
FROM nama_table
WHERE kondisi1 AND kondisi2
WHERE kondisi1 AND kondisi2
Sekarang kita coba cari data mahasiswa yang bernama anto dan beralamat jakarta
Tidak mendapatkan nilai apapun karena saat pencarian terdapat 2 pernyataan yang bernilai TRUE dan FALSE (mahasiswa anto di database hanya berasal dari semarang)
Operator OR akan menghasilkan nilai TRUE jika salah satu pernyataan bernilai benar
SELECT field1, field2, field3, ...
FROM nama_table
WHERE kondisi1 OR kondisi2
Jika kita mencari data mahasiswa yang bernama anto atau mahasiswa yang beralamat jakarta
Maka dengan operator OR akan dicari data mahasiswa yang bernama anto dan mahasiswa yang berasal dari jakarta
Operator NOT akan menghasilkan nilai TRUE jika pernyataan bernilai salah
SELECT field1, field2, field3, ...
FROM nama_table
WHERE NOT kondisi
Contoh, mencari data mahasiswa yang tidak bernama anto
Klausa WHERE dapat dikombinasikan dengan operator LIKE untuk mencari data yang lebih spesifik berdasarkan pola
SELECT field1, field2, field3, ...
FROM nama_table
WHERE kondisi LIKE '%pola%';
Mencari data mahasiswa yang mempunyai nama dengan pola ‘an’
Data yang dihasilkan adalah nama anto dan dani yang mempunyai komposisi huruf ‘an’