Panduan Dasar 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)