I. Pendahuluan
MySQL
merupakan salah satu Relational Database Management
System yang 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.
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 adalah :
mysql>quit
III. MySQL
Statements
Jika sudah login pada
server maka kita dapat memberikan perintah-perintah pada server tersebut.
Contoh pernyataan (statement) dalam MySQL untuk menampilkan versi dari MySQL dan
tanggal :
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-perintah pada
MySQL diakhiri dengan tanda semicolon (;), antara satu perintah dengan perintah
yang lain dibatasi dengan tanda koma (,).
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 gunakan 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.
IV.
Menggunakan
MySQL
Langkah-langkah untuk membuat tabel
menggunakan MySQL adalah :
1.
Membuat basis data MySQL (create database), dimana dalam sebuah basis data MySQL dapat
menampung lebih dari 1 tabel dengan relasinya.
2.
Gunakan (use)
basis data yang telah dibuat
3.
Membuat tabel (create
table) dalam basis data yang telah dibuat.
4.
Mengisi tabel (insert)
dengan record
5. Melakukan permintaan (query) dan manipulasi terhadap tabel dengan menggunakan Structure Query Language. Contoh
manipulasi tabel dalam modul ini adalah menghapus isi tabel (delete) dan menghapus seluruh basis data
(drop)
V.
Create
Database
Untuk membuat database pada MySQL perintah
yang dipergunakan adalah :
mysql>
create database latmodul4;
Query
OK, 1 row affected (0.07 sec)
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 latmodul4;
Database
changed
Membuat tabel KOMPUTER :
mysql>
create table komputer(
-> id_komputer char(5) NOT NULL primary
key,
-> merk_komputer char(15),
-> tipe_komputer char(10),
-> processor char(15),
-> harddisk INT);
Query
OK, 0 rows affected (0.49 sec)
Perintah tersebut
dipergunakan untuk membuat tabel dengan nama komputer dengan struktur tabelnya
terdiri atas field id_komputer sebagai primary
key dan tidak boleh kosong (not null),
merk_komputer, tipe_komputer, processor yang field type nya karakter (char) dan
harddisk dengan field type nya integer (INT). Untuk mengetahui struktur tabel
komputer tersebut perintah yang diberikan adalah :
mysql>
desc komputer;
+---------------+----------+------+-----+---------+-------+
|
Field | Type | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+-------+
|
id_komputer | char(5) | NO
| PRI | NULL | |
|
merk_komputer | char(15) | YES | | NULL
| |
|
tipe_komputer | char(10) | YES | | NULL
| |
|
processor | char(15) | YES | |
NULL | |
|
harddisk | int(11) | YES
| | NULL |
|
+---------------+----------+------+-----+---------+-------+
5
rows in set (0.25 sec)
VII.
INSERT data
pada Tabel
Untuk melakukan penyisipan
data pada tabel dipergunakan perintah INSERT INTO dan VALUES. Misalnya pada
tabel komputer yang telah dibuat pada bagian sebelumnya akan kita sisipkan sebuah
record maka perintahnya adalah sebagai berikut :
mysql>
insert into komputer
-> (id_komputer, merk_komputer,
tipe_komputer,processor,
-> harddisk)
-> values
->
('K01','Acer','Aspire2727','IntelCore88',500);
Query
OK, 1 row affected (0.08 sec)
Untuk melihat data yang telah diisikan
pada tabel tersebut dipergunakan perintah SQL dengan format pernyataan sebagai
berikut :
·
SELECT
: memilih satu atau banyak field yang akan di tampilkan. Gunakan tanda ‘*’ jika akan memilih seluruh field
dalam sebuah tabel.
·
FROM
: tabel asal field yang telah di pilih dalam perintah SELECT.
Berikut adalah contoh menampilkan semua
record dalam tabel KOMPUTER
mysql>
select * from komputer;
+---------+---------------+---------------+-------------+----------+
|id_komputer
| merk_komputer| tipe_komputer| processor
| harddisk |
+---------+---------------+---------------+-------------+----------+
|
K01 | Acer | Aspire2727 | IntelCore88 | 500 |
+---------+---------------+---------------+-------------+----------+
1
row in set (0.00 sec)
Untuk latihan, isilah tabel KOMPUTER
dengan 10 record yang berbeda lalu tampilkan menggunakan perintah SQL.
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)
IX.
Latihan SQL
Buatlah tabel dengan nama mahasiswa, dengan struktur basisdata sebagai berikut :
mysql> create table mahasiswa(
-> nrp char(10) primary key not null,
-> nama char(30),
-> alamat char(30),
-> umur int,
-> no_hp char(15));
Query OK, 0 rows affected (0.19 sec)
Perhatikan
tabel diatas, field nrp dari tabel
mahasiswa ditentukan sebagai primary key
dan not null yang artinya field
tersebut mewakili table mahasiswa, isinya harus unik dan tidak boleh kosong.
Untuk melihat struktur basisdatanya gunakan perintah desc seperti berikut :
mysql> desc mahasiswa;
+--------+----------+------+-----+---------+-------+
| Field
| Type | Null | Key | Default
| Extra |
+--------+----------+------+-----+---------+-------+
| nrp
| char(10) | NO | PRI |
NULL | |
| nama
| char(30) | YES | | NULL
| |
| alamat | char(30) | YES | |
NULL | |
| umur
| int(11) | YES | |
NULL | |
| no_hp
| char(15) | YES | | NULL
| |
+--------+----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Isilah
dengan sebuah record, contoh :
mysql> insert into mahasiswa
-> (nrp, nama, alamat, umur, no_hp)
-> values
-> ('133040001','Asep','Setiabudi 223 Bandung',19,'08123334534');
Query OK, 1 row affected (0.09 sec)
Untuk
mengisi record perhatikan urutan field,
isi (value) field yang akan di input
dan jika field yang akan diinput bertipe data char harus memakai tanda kutip
(‘).
Melihat
isi record yang berada dalam tabel mahasiswa dengan perintah berikut :
mysql> select * from mahasiswa;
+-----------+------+-----------------------+------+-------------+
| nrp
| nama | alamat |
umur | no_hp |
+-----------+------+-----------------------+------+-------------+
| 133040001 | Asep | Setiabudi 223 Bandung
| 19 | 08123334534 |
+-----------+------+-----------------------+------+-------------+
1 row in set (0.00 sec)
Perintah
select * from mahasiwa berarti
pilihlah semua record (*) dari tabel mahasiswa. Latihan selanjutnya adalah
mengisi tabel mahasiswa dengan beberapa record sekaligus, caranya adalah
sebagai berikut :
mysql> insert into mahasiswa
-> (nrp, nama, alamat, umur, no_hp)
-> values
-> ('133040002','Budi','Buah Batu 23 Bandung',18,'08123335555'),
-> ('133040003','Cantika','A Yani 4 Sumedang',18,'08123335566'),
-> ('133040004','Deddy','M Toha 78 Bandung',19,'08123337789'),
-> ('133040005','Eman','Baros 11 Cimahi',20,'08123367543');
Query OK, 4 rows affected (0.08 sec)
Records: 4
Duplicates: 0 Warnings: 0
Lihatlah
isi tabel mahasiswa dengan menggunakan perintah Select .... From ..., hasilnya
adalah sebagai berikut :
Mysql> select * from mahasiswa;
-----------+---------+-----------------------+------+-------------+
nrp
| nama | alamat | umur | no_hp |
-----------+---------+-----------------------+------+-------------+
133040001 | Asep | Setiabudi 223 Bandung | 19 | 08123334534 |
133040002 | Budi | Buah Batu 23 Bandung | 18
| 08123335555 |
133040003 | Cantika | A Yani 4 Sumedang |
18 | 08123335566 |
133040004 | Deddy | M Toha 78 Bandung |
19 | 08123337789 |
133040005 | Eman | Baros 11 Cimahi |
20 | 08123367543 |
-----------+---------+-----------------------+------+-------------+
rows
in set (0.00 sec)
Latihan
berikut adalah mencari data tertentu dalam tabel mahasiswa, cara mencarinya
adalah menggunakan keyword ‘where’
dalam query SQL yang berisi syarat atau kriteria pencarian, contoh :
mysql> select * from mahasiswa
-> where umur = 19;
+-----------+-------+-----------------------+------+-------------+
| nrp
| nama | alamat | umur | no_hp |
+-----------+-------+-----------------------+------+-------------+
| 133040001 | Asep | Setiabudi 223 Bandung | 19 | 08123334534 |
| 133040004 | Deddy | M Toha 78 Bandung |
19 | 08123337789 |
+-----------+-------+-----------------------+------+-------------+
2 rows in set (0.00 sec)
Perintah
SQL diatas adalah menampilkan semua record di tabel mahasiswa dengan syarat isi
field umur harus sama dengan 19. Field umur dapat dikenai operator matematika
(=, <, > dll.) karena tipe datanya adalah integer, cobalah dengan
operator matematika yang lain dan lihat hasilnya !
Perhatikan
instruksi SQL berikut :
mysql> update mahasiswa
-> set nama = 'Asep Kasep'
-> where nrp = '133040001';
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1
Warnings: 0
Perintah
diatas dilakukan untuk mengubah isi sebuah record, dimana field yang diubah
adalah nama dari record yang mempunyai nrp tertentu, hasilnya adalah :
mysql> select * from mahasiswa
-> where nrp = '133040001';
+-----------+------------+-----------------------+------+-------------+
| nrp
| nama | alamat | umur | no_hp |
+-----------+------------+-----------------------+------+-------------+
| 133040001 | Asep Kasep | Setiabudi 223
Bandung | 19 | 08123334534 |
+-----------+------------+-----------------------+------+-------------+
1 row in set (0.00 sec)
Contoh
query pencarian yang lain :
mysql> select nrp, nama
-> from mahasiswa;
+-----------+------------+
| nrp
| nama |
+-----------+------------+
| 133040001 | Asep Kasep |
| 133040002 | Budi |
| 133040003 | Cantika |
| 133040004 | Deddy |
| 133040005 | Eman |
+-----------+------------+
5 rows in set (0.00 sec)
mysql> select nrp, nama
-> from mahasiswa
-> where nama = 'Cantika';
+-----------+---------+
| nrp
| nama |
+-----------+---------+
| 133040003 | Cantika |
+-----------+---------+
1 row in set (0.00 sec)
mysql> select nrp, nama, umur
-> from mahasiswa
-> where nama like 'D%';
+-----------+-------+------+
| nrp
| nama | umur |
+-----------+-------+------+
| 133040004 | Deddy | 19 |
+-----------+-------+------+
1
row
in set (0.00 sec)
X.
Latihan
membuat tabel
Buatlah tabel dibawah ini, isi dengan 10 – 15 record dan
gunakan query untuk mencari dan mengperbarui field tertentu !
mysql> desc pegawai;
+-----------+-------------+------+-----+---------+-------+
| Field
| Type | Null | Key |
Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| nip
| varchar(5) | NO | PRI | NULL |
|
| nama
| varchar(25) | YES | | NULL
| |
| alamat
| varchar(30) | YES | | NULL
| |
| tgl_lahir | date | YES
| | NULL |
|
| no_telp
| varchar(15) | YES | | NULL
| |
| thn_masuk | year(4) | YES
| | NULL |
|
| golongan
| char(1) | YES | |
NULL | |
| gaji
| int(11) | YES | |
NULL | |
+-----------+-------------+------+-----+---------+-------+
8 rows in set (0.01 sec)
Contoh
isi tabel :
mysql> select * from pegawai;
+-----+-------------------+-------------------+------------+-------------+-----------+----------+---------+
| nip | nama | alamat | tgl_lahir | no_telp
| thn_masuk | golongan | gaji |
+-----+-------------------+-------------------+------------+-------------+-----------+----------+---------+
| 001 | Ahmad Burhanuddin | Jln Buah Batu 15b
| 1990-12-12 | 08123334543 | 2010 |
3 | 1250000 |
| 002 | Amin Imsyorry | Jln Cipaku 5 | 1989-12-02 | 08123337777 | 2009 | 2 | 1350000 |
| 003 | Budhy Bungaox | Jln Cisoka 112 | 1989-01-20 | 0812367654 |
2011 | 4 | 1050000 |
| 004 | Zulkarnaen | Jln Alhambra 2 | 1991-02-20 | 0812367655 |
2009 | 1 | 1450000 |
| 005 | Dewi Sudewa | Jln Iman 34 | 1990-12-02 | 08123337766 | 2009 | 1 | 1450000 |
| 006 | Ina Nurlian | Jln Cisatu 1 | 1993-08-09 | 0812345676 |
2011 | 4 | 1050000 |
| 007 | Cheppy Chardut | Jln Cilama 13 | 1992-07-09 | 0812345688 |
2011 | 4 | 1050000 |
| 008 | Dodong M | Jln Sutami 16 | 1990-07-10 | 0812345555 |
2010 | 3 | 1250000 |
+-----+-------------------+-------------------+------------+-------------+-----------+----------+---------+
8 rows in set (0.00 sec)
Comments
Post a Comment