MENGENAL DATABASE MYSQL

Written By batikbumi on 17 Feb 2012 | 10.43

Untuk menunjang fleksibilitas kita dalam mengoprek website dinamis maka kita harus menguasai pemrograman untuk mengelola database. Untuk itu, maka saya mencoba menulis ulang sedikit pengetahuan dasar seputar database mySQL yang saya dapat dari modul kuliah temen. Semoga bisa memberi sedikit pencerahan bagi kita semua. Berikut ini isi dari modul tersebut :


SEKILAS MYSQL  

Pada dasarnya MySQL adalah Relational Database Managenet Sistem (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). MySQL merupakan software database yang dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang pada waktu itu bernama TcX Data Konsult AB. Pada awalnya  MySQL AB memakai mSQL atau “mini SQL “ sebagai antar muka yang digunakan, ternyata dengan menggunakan mSQL itu mengalami banyak hambatan yaitu sangat lambat dan tidak fleksibel. Oleh karena itu, Michael Widenius (“Monty”), panggilan akrabnya, berusaha mengembangkan interface tersebut hingga ditemukanlah MySQL.    

MENGAKTIFKAN MYSQL

       Untuk mengecek apakah MySQL sudah bisa dijalankan, yang harus anda lakukan adalah membuka Windows Explorer, kemudian masuk ke direktori   c:\apache\mysql\bin. Carilah file WinMySQLAdmin kemudian klik ganda, bila ini pertama kali maka akan mucul jendela seperti gambar 1, dan untuk selanjutnya tidak akan muncul lagi, paling yang muncul hanya seperti lampu traffic lihgt di pojok kanan bawah pada taskbar.


Gambar 1 Tampilan WinMySQLAdmin quick Setup.

       Kemudian isikan username dan password. Adapun tujuan pengisian tersebut adalah untuk membentuk file my.cnf yaitu berguna untuk memberikan konfigurasi awal untuk mengakses database. Anda dapat melihat file my.ini cnf dengan mengaktifkan WinMySQLAdmin seperti terlihat pada gambar 2.


Gambar 2. Jendela MySQL dalam keadaan aktif

MENJALANKAN MYSQL

Setelah MySQL aktif, untuk menjalankan MySQL anda harus masuk ke  MS-Dos Prompt terlebih dahulu, kemudian masukklah kedirektori c:\apache\mysql\bin\. Hingga tampil C:\apache\mysql\bin Kemudian ketikkan MySQL hingga tampil jendela MySQL seperti tampak pada gambar 3

Gambar 3. Jendela MySQL dengan shell lewat MS-DOS yang sedang aktif

MEMBUAT DATABASE

Perintah yang digunakan dalam MySQL adalah bahasa SQL (Standar Query Language) yang merupakan bahasa standart internasional sebagai bahasa pemrograman database. Perintah umum untuk membuat Database adalah sebagai berikut:
Create database teman

MEMBUAT TABEL

Buatlah table dengan perintah sebagai berikut:
CREATE TABLE  best_friend
(
  nim int(3) NOT NULL,
  nama varchar(20) NOT NULL ,
  alamat varchar(30),
  tgl_lahir date,
  usia int(3),
   PRIMARY KEY (`nim`)
);

MEMASUKKAN DATA

Isikan table yang telah anda buat dengan perintah sebagai berikut:
INSERT INTO best_friend (nim, nama, alamat, tgl_lahir,usia) VALUES (18168, 'wahyusep', 'surakarta', '1982-05-15',20)
INSERT INTO best_friend (nim, nama, alamat, tgl_lahir) VALUES (18199, 'bumi', 'surakarta', '1982-12-02',19)
INSERT INTO best_friend (nim, nama, alamat, tgl_lahir) VALUES (18121, 'sasongko', 'jakarta', '1986-01-11’,17)

MELIHAT ATAU MENAMPILKAN DATA

Untuk melihat atau menampilkan data yang ada, dapat menggunakan perintah SELECT, namun dalam penggunaannya perintah ini memiliki cakupan yang lebih luas.

Cobalah Ragam perintah SELECT dibawah ini dan cermati hasilnya:
1. Select nim, nama, alamat, tgl_lahir, usia from best_friend;
2. Select * from best_friend;
3. select DISTINCT alamat from best_friend;
4. select nim, nama, alamat, tgl_lahir from best_friend Order By nama ASC;
5. select * from best_friend where alamat=’surakarta’;
6. select * from best_friend where Nama=’wahyusep’ and alamat=’surakarta’;
7. select nim, nama, alamat, tgl_lahir from best_friend where usia BETWEEN 17 and 20;
8. select nim, nama, alamat, tgl_lahir from best_friend where alamat LIKE ‘T%’;
Fungsi Agregate dalam SELECT
  1. select SUM(Usia) from best_friend;
  2. select AVG(usia) from best_friend;
  3. select MAX(usia) from best_friend;
  4. select MIN(usia) from best_friend;
  5. select COUNT(*) from best_friend;
  6. select nama,alamat,AVG(Usia) from best_friend group by nama;

Fungsi dalam SELECT
select 2+3+4;
select (2+3)*4;
select 1 || 0;
select bin(7);
select 2 >1;
select LCASE(‘JADI HURUF KECIL’);
select UCASE(‘jadi huruf besar’);
select sin(45);
select dayname(‘2004-01-27’);

MENGENAL ADMINISTRASI USER PADA MYSQL

Administrasi User disini dimaksudkan adalah bagaimana seorang user mempunyai hak akses dalam mengakses database yang ada. Oleh Karena itu, pembahasannya berkaitan keamanan database.
Ada beberapa langkah untuk mengetahui user aktif dalam MySQL
Setelah MySQL aktif sebagaimana tampak pada gambar 3.
  1. Show databases;
  2. Use MySQL
  3. Show tables;
  4. Select Host, user, password from user;

 

Menambah User baru

1.      Insert into user values (‘localhost’,’bumi’,password(‘keren’),’Y’,’Y’,’Y’,’Y’, ’Y’,’N’, ’N’,’N’, ’N’, ’Y’,’N’, ’Y’,’Y’, ’Y’);
2.      flush privileges;
3.      select host,user,password from user;

Mengupdate User

Perintah umumnya adalah sebagai berikut:
1.      Update user set password=password (‘nilai_password’) where user = ‘nama_user’;

Menghapus User

Perintah umumnya adalah sebagai berikut:
1.Delete from user where user=nama_user_yang_mau_dihapus;

Pemberian hak akses

  1. Perintah GRANT
Perintah ini merupakan pemberian hak akses/izin kepada user agar dapat mengakses database,table dan kolom. Perintah ini dapat dibagi menjadi beberapa bagian:
a.       Izin Akses penuh (global)
Artinya user mendapatkan hak akses secara penuh. Perintahnya umumnya adalah sebagai berikut:
Grant all privileges on *.* to namauser@localhost identified by’nama_password’ with grant Option;

b.      Izin Akses database
Artinya user hanya mendapatkan hak akses pada database tertentu. Perintah umumnya adalah sebagai berikut:
Grant all on nama_database.* to namauser@localhost identified by’nama_password’;

c.       Izin Akses table
Digunakan untuk mengatur izin akses terhadap semua kolom, baik SELECT, UPDATE, INSERT dan perintah kolom lainnya.
Grant nama_kolom on nama_database.* to  nama_user@localhost
identified by’nama_password’;

  1. Perintah REVOKE
Perintah ini merupakan kebalikan dari perintah GRANT, artinya menghapus atau mencabut kembali hak akses yang telah diberikan. Demikian bila anda memberikan perintah DROP pada table secara otomatis hak akses akan dihapus.
Dalam pemberian perintah pun sama hanya saja perintah GRANT dihapus dan diganti menjadi REVOKE

Contoh:
    1. Revoke all privileges on *.* to namauser@localhost identified by’nama_password’;
    2. Revoke all on nama_database.* to namauser@localhost identified by’nama_password’;

  1. Perintah Menampilkan izin Akses
Perintah umumnya adalah sebagai berikut:
Show Grant for nama_user@localhost;

Konfigurasi izin Akses User

Kemampuan MySQL dalam pemberian izin akses sangat fleksibel sekali dan ini merupakan kelebihan MySQL dibanding database lainnya. Berikut ini deskripsi mengenai izin akses yang ada pada MySQL.
Tabel 9. Jenis izin akses User pada MySQL
Nama Kolom
Izin Akses
Fungsi
Host

Mendeklarasikan host pada user
User

Mendeklarasikan nama user
Password

Mendeklarasikan password untuk mengakses database
Select_priv
Select
Menampilkan data pada table
Insert_priv
Insert
Memasukkan data pada table
Update_priv
Update
Meng-Update data pada table
Delete_priv
Delete
Menghapus data pada table
Create_priv
Create
Membuat database, table dan index
Drop_priv
Drop
Menghapus database dan table aktif
Reload_priv
Reload
Menerapkan perubahan konfigurasi pada server sama halnya dengan perintah flush
Shutdown_priv
Shutdown
Melakukan perintah shutdown pada server
Process_priv
Process
Menampilkan proses eksekusi yang sedang terjadi pada server
File_priv
File
Membaca dan menulisi file pada server
Grant_priv
Grant
Memberikan hak akses pada user lain
Index_priv
Index
Membuat dan menghapus index
Alter_priv
Alter
Melakukan modifikasi struktur pada table

0 komentar:

Posting Komentar