PRAKTIKUM 1
PENGANTAR MySQL
POKOK BAHASAN
- Mengenal MySql
- Menjalankan MySql
Apa Itu MySQL?
MySQL (bisa dibaca dengan mai-es-ki-el atau bisa juga mai-se-kuel, terserah Anda) adalah suatu perangkat lunak database relasi (bahasa kerennya Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya.
Jangan disalah-artikan MySQL dengan SQL. SQL (singkatan dari Structured Query Language) sendiri didefinisikan sebagai suatu sintaks perintah-perintah tertentu atau bahasa (program?) yang digunakan untuk mengelola suatu database.
Jadi, MySQL dan SQL adalah dua 'mahluk' yang berbeda. Mudahnya, MySQL adalah softwarenya, dan SQL adalah bahasa perintahnya. Jelas kan?
MySQL platform OS-nya apa?
Awalnya MySQL dijalankan pada sistem operasi Unix dan Linux. Tapi, bagi para penggemar Windows pun sekarang sudah tersedia MySQL versi Windowsnya. Mereka yang menggunakan Linux (RedHat, Mandrake, dsb), biasanya MySQL sudah terinstall secara default. Bila belum bisa diinstall maka dengan cukup mudah dapat menginstalnya menggunakan RPM (Redhat Package Manager, merupakan prosedur instalasi software yang menjadi standar de-facto untuk Linux, walaupun Anda tidak menggunakan Linux redhat).
Nah, bagi mereka yang menggunakan OS Windows, tidak usah berkecil hati, karena sudah ada paket software yang merangkum MySQL, Apache webserver dan PHP yang sangat mudah untuk di-install. Software tersebut namanya PHPTriad (phptriad2-2-1.exe,ukuran file 13 MB).
Menjalankan SQL Pertama Kali
Paket PHPTriad biasanya di-instal pada direktori atau folder C:\Apache. Karena PHPTriad merupakan kumpulan paket dari Apache (versi 1.3.23), MySQL (versi 3.23.48) dan PHP (versi 4.1.1), sehingga masing-masing software tersebut akan disimpan pada direktori khusus. Untuk MySQL ada pada direktori C:\apache\mysql. Sedangkan untuk file-file eksekusinya (file biner) ada di direktori C:\apache\mysql\bin.
Pada sistem prompt masuklah ke direktori mysql\bin
C:\>CD apache\mysql\bin <Enter>
Jalankan dahulu program MySQL Server atau MySQL Daemon -- disingkat mysqld (pada saat ini komputer kita bertindak seolah-olah sebagai sebuah server).
C:\apache\mysql\bin>mysqld --console <enter>
Bila perintah ini berjalan dengan baik,maka pada layar akan ditampilkan pesan:
mysqld: ready for connections
Perhatikan pada 'connections' dengan bentuk jamak, dengan demikian komputer kita tersebut telah menjalankan fungsinya sebagai mysql server dan dapat melayani lebih dari satu koneksi.
Jangan tutup jendela layar tersebut! Jika anda menutup jendela tersebut, maka program MySQL server akan dihentikan juga oleh sistem. Kemudian, bukalah sebuah jendela system prompt (atau DOS prompt) yang baru. Dan masuklah ke direktori c:\apache\mysql\bin
C:\>cd apache\mysq\bin <enter>
C:\apache\mysql\bin>
Kemudian jalankan program mysql client dengan mengetikkan mysql pada sistem prompt.
c:\apache\mysql\bin\> mysql <enter>
Bila perintah tersebut berhasil, maka pada layar akan tampil ucapan selamat datang dari mysql:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is xx to server version: 3.23.47-nt.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Your MySQL connection id is xx to server version: 3.23.47-nt.
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Kegiatan 1
Jalankan MySQL dari menu:
- Star
- Program / All Program
- MySql – MySql CommndLine Client
Menjalankan MySQL pada AppServ :
- Masuk ke prompt DOS (Run – ketik CMD)
-
Pindah ke drive d: lalu aktifkan folder mysql \ bin
Pindah ke drive d: lalu aktifkan folder mysql \ bin
Pada MySQL prompt ketikkan sbb:
mysql>SHOW DATABASES ;
+-----------+
| Database |
|-----------|
| mysql |
| test |
+-----------+
2 rows in set (0.00 sec)
+-----------+
| Database |
|-----------|
| mysql |
| test |
+-----------+
2 rows in set (0.00 sec)
Perintah diatas menampilkan database apa saja yang sudah ada sejak MySQL pertama kali diinstal. Disini ada 2 database, yaitu database mysql dan test. Database mysql berisi data-data tentang user, password, nama host, dsb dan database test merupakan database untuk latihan bagi siapa saja yang mau. Kalau tidak diperlukan, kita bisa hapus database test ini.
Catatan:
Membedakan penulisan MySQL dengan mysql. MySQL berarti merujuk ke perangkat lunak/software database MySQL, sedangkan mysql (dengan huruf kecil) berarti merujuk ke sebuah nama database.
Membedakan penulisan MySQL dengan mysql. MySQL berarti merujuk ke perangkat lunak/software database MySQL, sedangkan mysql (dengan huruf kecil) berarti merujuk ke sebuah nama database.
Sekarang kita lihat apa saja isi dari database mysql tersebut.
Aktifkan database mysql:
mysql>USE mysql ;
Database changed
Database changed
Kita sudah mengaktifkan database mysql dan sistem memberi respon dengan pesan 'Database changed'.
Tampilkan isi database mysql:
mysql>SHOW TABLES ;
+--------------------+
| Tables_in_mysql |
+--------------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+--------------------+
6 rows in set (0.00 sec)
+--------------------+
| Tables_in_mysql |
+--------------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+--------------------+
6 rows in set (0.00 sec)
Ada 6 tabel yang dapat dijelaskan kegunaannya sebagai berikut:
Nama Tabel
|
Kegunaan
|
columns_priv
|
Data hak akses user (user privileges) pada kolom-kolom tertentu di dalam suatu tabel.
|
Db
|
Nama database yang bisa diakses oleh user tertentu.
|
func
| |
host
|
Nama-nama host yang diijinkan mengakses mysql
|
tables_priv
|
Data hak akses user (user privileges) pada tabel-tabel tertentu di dalam suatu database.
|
user
|
Nama-nama pengguna (user) yang diijinkan untuk mengakses mysql.
|
Yang akan kita lihat dahulu adalah isi tabel user. Tuliskan perintah dibawah ini pada MySQL prompt:
mysql>DESCRIBE user;
atau:
mysql> SHOW COLUMNS FROM user ;
Perintah tersebut untuk menampilkan kolom-kolom (field) apa saja yang ada di dalam sebuah tabel. Hasilnya adalah sebagai berikut:
+-----------------+-----------------+------+-----+---------+--------+
| 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)
| 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)
Kita lihat sepintas bahwa tabel user ini mencakup nama user,nama host dari mana si user mengakses mysql, password dari user yang bersangkutan, dan sisanya adalah jenis-jenis hak akses (user privileges) yang dimiliki user tersebut.
PRAKTIKUM 2
Mengenal Perintah DDL dan DML pada MySQL
Bentuk Umum MySQL
Bentuk Umum
|
mysql nama_database -u nama_user -h nama_host -p kata_sandi_atau_password
|
Contoh:
# mysql latih1db -u arbie -h localhost -p <enter>
Enter password:
Enter password:
Membuat database dalam server
Ø CREATE Database Nm_Database;
Melihat seluruh daftar database dalam server MySQL
Ø SHOW Database;
Mengaktifkan / Menggunakan database
Ø USE Nm_Database;
Menghapus Database dari server
Ø Drop Database Nm_Database
Aturan penamaan dalam pembuatan database :
1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama database
2. Jangan menggunakan angka pada awal pembuatan nama database
Kegiatan 2
Membuat dan menghapus Database
1. Buat database mahasiswa
Ø CREATE DATABASE mahasiswa;
2. Tampilkan database yang baru Anda buat
Ø SHOW DATABASES;
3. Buka / aktifkan database mahasiswa
Ø USE mahasiswa ;
4. Untuk menghapus database, gunakan perintah :
Ø DROP DATABASE mahasiswa;
Kegiatan 3
Buat tabel mhs dengan ketentuan sebagai berikut :
a. Membuat tabel mhs pada Database Mahasiswa
>CREATE TABLE mhs(
->stb CHAR(6) NOT NULL PRIMARY KEY,
->Nama CHAR (10),
->Jur CHAR (2),
->jkl ENUM (‘L’,’P’));
b. Tampilkan tabel mhs pada database mahasiswa :
> SHOW Tables
c. Menampilkan struktur tabel mhs :
>DESC mhs ; [atau DESCRIBE mhs;]
Coba dengan perintah : >DESC mhs/g
Atau >DESC mhs/G (amati perbedaannya !!!!)
d. Ubah field nama menjadi nm_mhs dengan tipe char lebar 15 :
>ALTER TABLE mhs CHANGE nama nm_mhs CHAR (15);
(tampilkan kembali struktur tabel mhs)
e. Tambah field kota char (10) dengan nilai default ‘Makassar’
>ALTER TABLE mhs ADD kota CHAR (10);
Tampilkan hasil akhir tabel tsb
f. hapus tabel mhs :
>DROP TABLE mhs ;
g. Ulangi kembali langkah (a)
Tugas 1
Kerjakan kembali kegiatan 3 kumpul pertemuan berikutnya
PRAKTIKUM 3
Kegiatan 4
Buat tabel Biodata pada database mahasiswa dengan struktur sbb :
>CREATE TABLE biodata (
.....................
.....................
.....................
Tugas 2
1. Tuliskan jenis-jenis tipe filed pada MySQL dan berikan penjelasan secara singkat masng-masing.
PRAKTIKUM 4
Perintah DML
Pokok bahasan
Ø Menggunakan perintah DDL ( Data Definition Languange)
SELECT,INSERT,UPDATE, dan DELETE
Tujuan Belajar
Setelah melakukan praktikum dalam baba ini, mahasiswa diharapkan dapat :
Ø Membuat Struktur tabel dalam database.
Ø Memasukkan data ( Record ) dalam tabel.
Manampilkan isi/record table :
Select [fields] from [nama_tabel] where [kondisi]
Order by [nama_field]
Group by [nama_field] asc/desc
Memasukkan data/record pada tabel :
Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu :
1.Memasukkan data pada semua field.
insert into nama_tabel values (isi_field_2,...,isi_field_n);
2.Memasukkan data pada field tertentu.
insert into nama_tabel (nama _field_1, nama_field_2,...,nama_field_n)
values (isi_field_1 ,isi_field_2,...,isi_field_n)
Menghapus data/record pada table :
Delete From nama_tabel
Where kriteria;
Merubah/mengaupdate data table :
Update nama_tabel set nama_field_1=isi_baru_1,nama_field_2=isi_baru_2,...,nama_field_n=isi_baru_n
Where kriteria ;
Kegiatan 5
Percobaan1 memasukkan data dalam tabel.
a.Buka/aktifkan database mahasiswa
>USE mahasiswa ;
b.Tampilkan Tabel pada database mahasiswa
>SHOW TABLES ;
( Catatan : Jika Tabe mahasiswa belum ada, buat ulang kembali –Lihat modul Prak.1)
c. Masukkan data pada table mhs sbb :
>INSERT INTO mhs (stb,nm_mhs,jur,jkl,kota) VALUES
(‘051001’,’Yudi’,’SI’,’L’,’Makassar’) ;
Catatan : Setelah penginputan data selesai,tampilkan isi table dengan perintah
Ø SELECT *FROM mhs ;
d. Masukkan data berikutnya sbb :
Percobaan 2 : Mengupdate data.
a. Ubah data jur Menjadi ‘SI’ untuk stb=’051002’
>UPDATE mhs set jur=’SI’WHERE stb=’051002’;
b. Ganti semua kota ‘Sunggumina’ menjadi ‘Gowa’
>UPDATE mhs set kota=’Gowa’WHERE kota=’Sunggumina’;
Percobaan 3 : Menghapus data.
a. Hapus data mhs dengan no.stb=’051114’
>DELETE FROM mhs WHERE stb=’051114’;
PRAKTIKUM 5
Kegiatan 6
Tuliskan perintah-perintah untuk membuat tabel berikut :
1. CREATE TABLE
1. Nama Tabel : Produk 2 .Nama Tabel : Pelanggan
2. ALTER TABLE
1. Tambahkan kolom jenis kelamin (tipe data char(8)) kedalam pelanggan .
2. Ubah ukuran kolom nama menjadi 20 pada tabel pelanggan.
3. INSERT
Isikanlah data-data berikut :
Produk
Pelanggan
4. SELECT
Tuliskan perintah :
1. Menampilkan ‘keterangan ‘,dan ‘harga’ dari tabel PRODUK.
2. Menampilkan data nama dan alamat dari PELANGGAN.
3. Menapikan ‘ID’,’Keterangan’,’unit’,dan ‘harga’ dari PRODUK.
4. Menampilkan semua data ‘PELANGGAN’.
PRAKTIKUM 6
Perintah DML (lanjutan)
Pokok Bahasan
Ø Menggunakan Perintah DDL (Data Defenition Languange)
Lebih Lanjut dengan SELECT
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat :
Ø Menampilkan field/kolom tertentu dengan SELECT
Ø Menggunakan operator DISTINCT, LIKE, BETWEEN, HAVING
Ø Menampilkan data urut dengan ORDER BY.
Kegiatan 7
Percobaan 1 : Melihat data dengan SELECT
a. Buka/Aktifkan kembali database mahasiswa
>USE mahasiswa;
b. Tampilkan kolom stb dan nm_mhs pada table mahasiswa
>SELECT nm_mhs,kota FROM mhs;
c. Menampilkan data kota tanpa perulangan (DISTINCT)
>SELECT DISTINCT kota FROM mhs;
Percobaan 2 : Mengurutkan data dengan ORDER BY
a. Tampilkan data mhs dengan urut nm_mhs secara ascending.
>select stb,nm_mhs,jur from mhs order by nm_mhs;
b. Tampilkan data mhs dengan urut jur dan stb secara descending.
>SELECT *FROM mhs ORDER BY jur, stb DESC ;
Kegiatan 8
a. Buat database dengan nama DBPEGAWAI
b. Aktifkan table DBPEGAWAI
c.
Buat tabel “pegawai”dengan struktur sbb :
Buat tabel “pegawai”dengan struktur sbb :
d. Tambahkan filed gapok ini(7) setelah field jkel.
e. Masukkan data ke dalam tabel pegawai (datanya terserah Anda)
f. Cobalah perintah SELECT berikut :
ü Tampilkan semua data yang terdapat pada tabel pegawai
>SELECT*FROM pegawai
ü Tampilkan nama dan tanggal lahir pegawai
SELECT nama,tglahir FROM pegawai
ü Tapilkan semua pegawai yang gajinya 1 juta keatas
SELECT *FROM pegawai WHERE gapok >=1000000
ü Tampilkan semua pegawai yang berjenis kelamin “P”
SELECT*FROM pegawai WHERE jkel = “P”;
ü Tampilkan semua pegawai yang “laki-laki” dan yang lahir sebelum tahun 1980
SELECT*FROM pegawai WHERE jkel = ‘L’ AND
YEAR tglahir)<1980;
ü Tampilkan nip, nama dan tgl lahir pegawai yang lahir antara tahun 1975 s.d 1980
SELECT nip, nama, tglahir FROM pegawai WHERE YEAR (tglahir)
Between 1975 AND 1980;
ü Tampilkan semua nama pegawai yang berawalan ‘A’
SELECT*FROM pegawai WHERE nama LIKE ‘M%’;
ü Tapilkan semua pegawai dan urutkan ata berdasarkan tglahir secara descending
SELECT*FROM pegawai ORDER BY tglahir DESC;
ü Tampilkan nama pegawai yang tidak berasal dari kota makassar
SELECT nama FROM pegawai HAVING kota <> ‘makassar’;
ü Tampilkan hanya nama-nama pegawai yang mengandung nama “is”
SELECT*FROM pegawai WHERE nama LIKE ‘%is%’;
ü Tampilkan semua nama pegawai yang berawalan A dan berikutnya mengandung huruf y.
SELECT*FROM pegawai WHERE nama LIKE ‘A%y%’;
ü Tampilkan data kota pada tabel pegawai tanpa perulangan
SELECT DISTINCT kota FROM pegawai
PRAKTIKUM 7
Kegiatan 9
Kerjakan latihan berikut :
1. Bagaimana perintah SQL untuk menampilkan :
a. Semua pegawai yang namanya berawalan huruf Y,K,M
b. Semua pegawai yang namanya berawalan huruf B dan mengandung huruf U
c. Semua pegawai yang berulang tahun di bulan 10
d. Semua pegawai yang lahir sesudah tahun 1965
e. Nama pegawai dan departemen dengan mengurutkan berdasarkan departemen secara Ascending
f. Jumlah pegawai per departemen
g. Gaji terbesar setiap departemen
2. Ubah perintah berikut menggunakan operator BETWEEN
Select * from pegawai where year (tglahir)>= 1970 and year (tglahir) <= 1980
PRAKTIKUM 8
Perintah DML (Lanjutan)
Pokok Bahasan :
Ø Menggunakan perintah DDL (Data Definition Language)
Fungsi AGREGAT (SUM, AVG, MAX, MIN Dan COUNT)
Kegiatan 10
Percobaan 1 Menggunakan fungsi Agregat
Ø Buka/aktifkan kembali database DBPEGAWAI
Ø Tampilkan jumlah keseluruhan dari gaji pegawai

Ø Hitung rata – rata gapok dari pegawai pada departemen ‘pemasaran’
Mysql> select avg(gapok) from pegawai where depart = ‘Pemasaran’;

Ø Tampilkan jumlah pegawai perdepartemen
Mysql> select depart, count(kota) as jumlah from pegawai group by depart ;
Ø Tampilkan Departemen yang mempunyai gaji terendah
SELECT depart, MIN(gapok) FROM pegawai GROUP BY pegawai;
Ø Tampilkan jumlah pegawai perkota, perdepartemen
SELECT depart,kota, COUNT (kota) from pegawai GROUP BY depart, kota;
Ø Tampilkan nama pegawai yang gajinya paling tinggi
SELECT nama, gapok FROM pegawai WHERE gapok =(SELECT MAX(gapok) GFOM Pegawai;
Ø Tampilkan nama pegawai yang gajinya paling rendah
SELECT nama, gaji FROM pegawai WHERE gaji =(SELECT MIN(gaji) GFOM Pegawai;
Ø Hitung rata-rata gaji pegawai
SELECT AVG(gaji) FROM Pegawai
Ø Hitung rata-rata gaji pegawai berdasarkan departemennya
SELECT depart, AVG(gapok) FROM Pegawai GROUP BY depart;
Ø Hitung total seluruh gaji pegawai
SELECT SUM(gaji) from pegawai
Tugas 3
Berdasarkan tabel pegawai, tuliskan maksud dari perintah SQL berikut :
1. SELECT nip,nama,gapok,gapok * 0.1 AS bonus from pegawai where jkel =’L’
2. SELECT nama,2007-year(tglahir) as umur from pegawai where (2007-year(tglahir)>=20;
3. SELECT depart, sum(gapok) from pegawai where group by depart;
4. SELECT nama,gapok from pegawai WHERE gapok = (SELECT MAX(gapok) from pegawai);
5. SELECT kota,Count(*) from pegawai GROUP BY kota;
Tidak ada komentar:
Posting Komentar