I.
Membuat Tabel Pegawai
Buatlah sebuah database baru dengan nama Perusahaan (gunakan nama Perusahaan_[nim
mhs] untuk setiap praktikan) dimana di dalam
database tersebut akan di ‘create’
sebuah tabel dengan
nama Pegawai, struktur database dari tabel tersebut adalah :
mysql> use perusahaan;
Database changed
mysql> show tables;
+----------------------+
| Tables_in_perusahaan |
+----------------------+
| pegawai
|
+----------------------+
1 row in set (0.06 sec)
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.20 sec)
Perhatikan bahwa tabel tersebut
menggunakan 5 buah tipe data yaitu varchar, date, year, char dan int. Khusus
untuk tipe data ‘date’ isiannya adalah tahun-bulan-tanggal, contoh :
2010-05-06. Setelah selesai membuat struktur tabel Pegawai gunakanlah perintah
‘Insert’ untuk mengisi tabel tersebut
dengan paling sedikit 15
buah record seperti gambar di bawah ini :
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.11 sec)
II.
Insert Record
Untuk menyisipkan (insert) record baru, dapat diisi
satu persatu seperti contoh berikut :
mysql>
insert into pegawai
-> (nip,
nama, alamat, tgl_lahir, no_telp, thn_masuk, golongan, gaji)
-> values
->
('006','Ina Nurlian','Jln Cisatu 1','1993-08-09','0812345676',2011,4,1050000);
Query OK, 1 row affected (0.14 sec)
Atau langsung di isi beberapa record
sekaligus menggunakan ‘,’ (koma) seperti contoh berikut :
mysql>
insert into pegawai
-> (nip,
nama, alamat, tgl_lahir, no_telp, thn_masuk, golongan, gaji)
-> values
->
('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);
Query OK, 2 rows affected (0.08 sec)
Records: 2
Duplicates: 0 Warnings: 0
III.
Membuat Query SQL dari
Tabel Pegawai
Dibawah ini adalah latihan query SQL dari tabel Pegawai yang
sebelumnya telah dibuat, query paling sederhana tentu saja menampilkan seluruh record dari tabel Pegawai dengan
perintah :
- select
* from pegawai;
query
selanjutnya adalah menampilkan hanya field
nip dan nama dari tabel Pegawai, agar diperhatikan bahwa perintah select akan menampilkan duplikasi data
misalnya jika ada 2 nama pegawai yang persis sama maka dua-duanya akan
ditampilkan.
- select
nip,nama from pegawai;
mirip
dengan query sebelumnya, query di bawah ini hanya menampilkan field nip, nama dan golongan saja.
- select
nip, nama, golongan from pegawai;
query
berikut mulai menggunakan klausa ‘where’
yang bisa diartikan sebagai kriteria atau syarat pencarian tertentu, dalam
kasus di bawah ini adalah tampilkan nip dan nama pegawai yang bernama 'Asep
Burhanuddin'.
- select nip, nama from pegawai where nama = 'Asep Burhanuddin';
field
dengan tipe data year dapat dikenai operator relasional >,<,>= dan
<=, contohnya adalah cari pegawai yang bekerja (thn_masuk) dari tahun 2005.
- select nip, nama from pegawai where thn_masuk = 2005;
gunakan
operator relasional yang lain contohnya
:
- select nip, nama from pegawai where thn_masuk > 2004;
gunakan
klausa ‘and’ jika terdapat dua persyaratan dalam ‘where’ dimana kedua
persyaratan tersebut harus benar, contoh query
:
- select nip, nama from pegawai where thn_masuk = 2003 and golongan = '1';
selain
‘and’ dapat pula kita gunakan klausa ‘or’ jika terdapat dua persyaratan dalam
‘where’ dimana kedua persyaratan tersebut, salah satunya harus benar, contoh query :
- select nip, nama from pegawai where thn_masuk = 2003 or gaji > 800000;
untuk
field dengan tipe data varchar dapat pula menggunakan operator relasional,
contoh berikut adalah mencari nama pegawai yang >= ‘C’, artinya nama pegawai
tersebut harus dimulai dengan huruf C atau D atau E dan seterusnya.
- select nip, nama from pegawai where nama >= 'C';
untuk
mencari ‘lawan’ data dari data yang dicari gunakan perintah ‘not’.
- select * from pegawai where not golongan = '3';
gunakan
perintah ‘select distinct’ untuk
memastikan tidak adanya duplikasi dari query
yang dihasilkan, untuk latihan cobalah perintah berikut :
- select
distinct thn_masuk from pegawai;
field
dengan tipe data integer tentu saja dapat dihitung, contoh dibawah adalah
menghitung ½ gaji pegawai dan menempatkannya dalam sebuah field baru tanpa harus
mengubah struktur database yang telah ada.
- select
nip, nama, golongan, 1/2 * gaji from pegawai;
gunakan
perintah ‘between’ dan ‘and’ dalam kriteria pencarian untuk
membuat ‘kekangan’ data tertentu, latihan berikut adalah menggunakan kriteria
dari field tgl_lahir untuk
menampilkan pegawai yang lahir antara tahun 1990 sampai dengan tahun 1991.
- select * from pegawai where tgl_lahir between '1990-01-01' and '1991-12-31';
untuk
menampilkan pegawai yang lahir selain antara tahun 1990 sampai dengan tahun
1991, gunakan ‘not’ sebelum field
tgl_lahir.
- select * from pegawai where not tgl_lahir between '1990-01-01' and '1991-12-31';
gunakan
perintah ‘like’ untuk mencari karakter tertentu dalam sebuah field, perintah
ini menggunakan tanda wildcard ‘%’ (wildcard =
karakter bebas)untuk karakter apa saja. Contoh : nama
like ‘Cah%’ artinya nama pegawai yang
dimulai dengan karakter ‘Cah...’ dimana karakter dibelakangnya adalah wildcard, tidak dipedulikan. Hasilnya
querynya mungkin saja Cahoen, Cahyadi, Cahyono, dll atau mungkain hanya Cah
saja.
- select nama from pegawai where nama like 'Cah%';
lihat
perbedaannya dengan perintah di bawah ini
- select nama from pegawai where nama not like 'C%';
IV.
Latihan Query
Buatlah
query SQL berikut dari tabel Pegawai
a.
Cari nama pegawai yang
dimulai dengan huruf ‘D’ dan diakhiri dengan huruf ‘y’
b.
Cari nip, nama dan
golongan pegawai yang beralamat di ‘Bandung’
c.
Cari nip, nama dan
golongan pegawai yang beralamat selain di ‘Bandung’
d.
Hitung 5% dari gaji
setiap pegawai
e.
Cari ada berapa
golongan pegawai yang terdapat dalam tabel pegawai
f.
Cari nama pegawai yang
mempunyai karakter ‘ud’ di dalam namanya
g.
Tampilkan nomor telepon
pegawai yang mempunyai kode area selain ‘(022)’
h.
Hapus pegawai
dengan nip = ‘001’
Comments
Post a Comment