MYSQL
PENGANTAR MYSQL
I.
Pendahuluan
Mysql
merupakan salah satu Relational database management system bersifat Open
Source. Struktur database disimpan dalam tabel-tabel yang saling berelasi.
Karena Sifat Open source maka MYSQL dapat dipergunakan dan didistribusikan baik
untuk kepentingan individu maupun corporate secara gratis, tanpa memerlukan
lisensi dari pembuatnya. Mysql dapat dijalankan dalam berbagai platform sistem operasi antara lain
Windows, Linux, Unix, Sun OS dan lain-lain. Source dan dokumentasi lengkap
dapat diperoleh melalui situs www.mysql.com .
II.
Menjalankan
MYSQL
MYSL
terdiri atas dua bagian yaitu Server dan Client. Untuk dapat menggunakan MYSQL,
terlebih dahulu server mysql dijalankan. Untuk menjalankan mysql Server
tergantung pada platform sistem operasi mysql diinstall. Misalnya :
-
pada Windows c:\apache\bin\mysqld
-
Pada linux /etc /rc.d/init.d/mysqld
Setelah
MYSQL Server dijalankan diperlukan program mysql client untuk melakukan administrasi
server mysql antara lain membuat database,membuat tabel dan lain-lain. Untuk
menjalankan program client mysql dengan menggunakan perintah :
C:\apache\mysql\bin>
mysql
(
Dari Ms-DOS windows, diasumsikan mysql
client berada pada direktori tersebut.)
[root@server]#
mysql ( dari Linux).
[root@server]#
mysql --help
Selain
program mysql client bawaan dari mysql tersedia juga program lain untuk
administrasi server mysql antara lain mysql-front, merupakan administrasi mysql
berbasis grafis. PhpMyadmin merupakan program untuk melakukan administrasi
mysql berbasis web.
III.
Koneksi
ke MYSQLServer
Untuk
melakukan koneksi ke server mysql diperlukan nama user, nama host dan password
user.
[root@server]#
mysql -h <host> -u <nama_user>
-p
Enter
password: ********
<host>
menyatakan nama host / ip address server mysql.
<nama_user>
merupakan nama user yang berhak melakukan akses terhadap database mysql. Option
–p menyatakan menggunakan password untuk login.
Setelah
login ke mysql server berhasil maka akan ditampilkan prompt :
Welcome
to the MySQL monitor. Commands end with
; or \g.
Your
MySQL connection id is 10 to server version: 5.0.0-alpha-standard-log
Type
'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Untuk
keluar dari mysql perintah yang dipergunakan
mysql>quit
IV.
Query
Pada Mysql
Jika
sudah login pada server maka kita dapat memberikan perintah-perintah pada
server tersebut. Contoh Perintah :
mysql> SELECT VERSION(),
CURRENT_DATE;
+--------------------------+--------------+
| VERSION() | CURRENT_DATE |
+--------------------------+--------------+
| 5.0.0-alpha-standard-log |
2004-12-15 |
+--------------------------+--------------+
1 row in set (0.03 sec)
Perintah
tersebut dipergunakan untuk melakukan query versi server mysql yang
dipergunakan dan menampilkan tanggal saat ini.
Perintah-perintah
pada mysql diakhiri dengan tanda semicolon (;), antara satu perintah dengan
perintah yang lain dibatasi dengan tanda koma (,).
Perintah
pada mysql juga bisa dipergunakan untuk melakukan fungsi-fungsi
penghitungan(kalkulator) misalnya :
mysql> SELECT SIN(PI()/4),
(4+1)*5;
+-------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+-------------+---------+
| 0.707107 | 25 |
+-------------+---------+
1 row in set (0.00 sec)
SIN
(PI)/4 merupakan perintah untuk menghitung Sinus(PI)/4 sedangkan (4+4)* 5 dipergunakan
untuk menghitung operasi aritmatika bilangan tersebut.
mysql> SELECT
VERSION();SELECT NOW();
+--------------------------+
| VERSION() |
+--------------------------+
| 5.0.0-alpha-standard-log |
+--------------------------+
1 row in set (0.00 sec)
+---------------------+
| NOW() |
+---------------------+
| 2004-12-10 15:42:56 |
+---------------------+
1 row in set (0.00 sec)
Tanda
semicolon(;) yang diberikan diantara dua command dianggap sebagai dua perintah.
Apabila tanda (;) belum diberikan maka dianggap perintah tersebut belum
selesai.
mysql> SELECT USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
Perintah
tersebut dipergunakan untuk mengetahui nama user yang bersangkutan dan nama
client tempat user melakukan login. Dalam contoh di atas user yang melakukan
login adalah root dan login melalui komputer lokal server mysql (localhost).
Untuk
melakukan query pada tabel-tabel pada database mysql terlebih dahulu harus
melakukan koneksi pada database. Untuk melihat
nama-nama database yang ada pada mysql server dipergunakan perintah:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.06 sec)
Perintah
tersebut memberikan informasi nama-nama database yang ada pada server. Secara
bawaan terdapat dua database yaitu mysql dan test. Ada
kemungkinan daftar nama database tersebut berbeda diantara server yang berbeda,
tergantung pada database yang sudah dibuat pada server.
Untuk
menggunakan database tertentu dipergunakan perintah :
mysql> USE mysql;
Database changed
Perintah
tersebut dipergunakan untuk menggunakan database bernama mysql. Untuk
menggunakan database dengan nama latihan dipergunakan perintah :
mysql> USE latihan;
Database changed
Setelah database
tertentu dipergunakan maka dapat dilihat daftar tabel yang ada pada database
tersebut dengan perintah :
mysql> USE mysql;
Database changed
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| tables_priv |
| user |
+-----------------+
11 rows in set (0.00 sec)
Daftar
tersebut menunjukkan tabel-tabel yang berada di bawah database mysql. Setelah
menggunakan database tertentu dan melihat nama-nama tabel pada database
tersebut dapat dilakukan query pada tabel tersebut.
Melakukan
seleksi pada tabel user di database
mysql :
mysql> USE mysql;
Database changed
mysql>SELECT
* FROM user;
Perintah
tersebut dipergunakan untuk menampilkan nama-nama user yang diijinkan untuk
melakukan koneksi ke server database. Untuk mengetahui struktur tabel user pada database mysql, perintah yang
dipergunakan :
mysql> USE mysql;
Database changed
mysql>DESC
user;
+-----------------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-----------------+------+-----+---------+-------+
| Host | char(60) binary | | PRI | |
|
| User | char(16) binary | | PRI | |
|
| Password | char(16) binary | |
| | |
| Select_priv | enum('N','Y') |
| | N |
|
| Insert_priv | enum('N','Y') |
| | N |
|
| Update_priv | enum('N','Y') |
| | N |
|
| Delete_priv | enum('N','Y') |
| | N |
|
| Create_priv | enum('N','Y') |
| | N |
|
| Drop_priv | enum('N','Y') |
| | N |
|
| Reload_priv | enum('N','Y') |
| | N |
|
| Shutdown_priv | enum('N','Y') |
| | N |
|
| Process_priv | enum('N','Y') |
| | N |
|
| File_priv | enum('N','Y') |
| | N |
|
| Grant_priv | enum('N','Y') |
| | N
| |
| References_priv |
enum('N','Y') | |
| N | |
| Index_priv | enum('N','Y') |
| | N |
|
| Alter_priv | enum('N','Y') |
| | N |
|
+-----------------+-----------------+------+-----+---------+-------+
17 rows in set (0.00 sec)
Keterangan
:
Host
,menyatakan nama host user diperkenankan untuk melakukan login.
User
,nama user yang memiliki hak akses pada database mysql.
Password,
password user untuk login.
Select_priv sampai dengan Alter_priv menyatakan hak akses
user tertentu terhadap database. Pilihan Y menyatakan user berhak melakukan
perintah tertentu sedangkan pilihan N menyatakan user tertentu tidak
diperkenankan untuk melakukan perintah tersebut.
V.
Create
Database
Untuk
membuat database pada mysql perintah yang dipergunakan adalah:
mysql> CREATE DATABASE
latihan;
Query OK, 1 row affected
(0.04 sec)
Untuk
menghapus database dipergunakan perintah drop database:
mysql> DROP DATABASE
latihan;
Query OK, 1 row affected
(0.06 sec)
Selain
menggunakan cara di atas, untuk melakukan koneksi ke server mysql dapat
dipergunakan cara dengan langsung
melakukan koneksi ke databse yang akan dipergunakan :
[root@servert]#
mysql -u root -h localhost -p latihan;
Perintah
tersebut dipergunakan untuk melakukan koneksi ke server mysql dengan nama
database latihan yang berada pada
komputer localhost.
VI.
Create
Table
Untuk
membuat tabel perintah yang dipergunakan adalah create table. Sebelum perintah
tersebut diberikan terlebih dahulu diberikan perintah menggunakan database
tertentu:
mysql> USE latihan;
Database changed
mysql> CREATE TABLE
komputer(nama varchar(20),fungsi varchar(30),prosesor char(20),ram INT,hardisk
char(20));
Query OK, 0 rows affected
(0.06 sec)
Perintah
tersebut dipergunakan untuk membuat tabel dengan nama komputer dengan struktur
tabelnya terdiri atas kolom nama , fungsi, prosesor,ram dan hardisk.
Untuk
mengetahui struktur tabel komputer tersebut perintah yang diberikan adalah:
mysql> DESC komputer;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nama | varchar(20) | YES | |
NULL | |
| fungsi | varchar(30) | YES | | NULL
| |
| prosesor | varchar(20) |
YES |
| NULL | |
| ram | int(11) | YES
| | NULL |
|
| hardisk | varchar(20) | YES | |
NULL | |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
VII. INSERT data pada Tabel
Untuk
melakukan penyisipan data pada tabel dipergunakan perintah INSERT. Misalnya
pada tabel komputer yang telah dibuat pada bagian sebelumnya akan kita sisipkan
data perintahnya adalah sebagai berikut:
mysql>INSERT INTO
komputer (nama,fungsi,prosesor,ram,hardisk) VALUES('Server-1','Web
Server','P-III 800','512','80 GB');
Query OK, 1 row affected
(0.00 sec)
Untuk
melihat data yang telah diisikan pada tabel tersebut dipergunakan perintah:
mysql> SELECT * FROM komputer;
| nama | fungsi | prosesor
| ram | hardisk |
+----------+------------+-----------+------+---------+
| Server-1 | Web Server |
P-III 800 | 512 | 80 GB |
+----------+------------+-----------+------+---------+
1 row in set (0.00 sec)
Untuk
melakukan penyisipan data yang lain pada tabel yang sama :
mysql> INSERT INTO
komputer (nama,fungsi,prosesor,ram,hardisk) VALUES('Server-2','Email
Server','P-III 800','512','80 GB');
Query OK, 1 row affected
(0.01 sec)
Isi
tabel setelah dilakukan penyisipan adalah sebagai berikut:
mysql> select * from
komputer;
+----------+--------------+-----------+------+---------+
| nama | fungsi | prosesor | ram
| hardisk |
+----------+--------------+-----------+------+---------+
| Server-1 | Web Server | P-III 800 |
512 | 80 GB |
| Server-2 | Email Server |
P-III 800 | 512 | 80 GB |
+----------+--------------+-----------+------+---------+
2 rows in set (0.00 sec)
Untuk
melakukan seleksi kolom tertentu dipergunakan perintah :
mysql> SELECT nama,prosesor
FROM komputer;
+----------+-----------+
| nama | prosesor
|
+----------+-----------+
| Server-1 | P-III 800 |
| Server-2 | P-III 800 |
+----------+-----------+
2 rows in set (0.00 sec)
Perintah
tersebut dipergunakan untuk melakukan seleksi pada kolom nama dan prosesor.
VIII.
Menghapus
Data pada tabel mysql
Untuk
menghapus data pada tabel mysql dipergunakan perintah Delete, perintahnya
adalah :
mysql> DELETE FROM
komputer;
Query OK, 2 rows affected
(0.00 sec)
Jika
kita lihat isi dari tabel komputer maka hasilnya akan kosong karena semua data
sudah dihapus dengan perintah delete.:
mysql> SELECT * FROM
komputer;
Empty set (0.00 sec)
Tetapi perintah
delete tidak akan menghilangkan struktur data pada tabel karena yang dihapus
adalah data pada tabel bukan tabel.
Untuk
menghapus tabel pada suatu database dipergunakan perintah DROP TABLE:
mysql> DROP TABLE
komputer;
Query OK, 0 rows affected
(0.00 sec)
Komentar
Posting Komentar