TUGAS 2 KELOMPOK SMBD
MEMBUAD DATABASE DAN MENGOLAH DENGAN MYSQL
Nama kelompok :
1 . M. Abdul Alim Alami ( 111051065 )
2. Kalvian Sofian ( 111051060 )
3. Muamar Habib ( 111051019 )
4. Fauzul Rahman Zulfikar L ( 111051093 )
FAKULTAS TEKNOLOGI INDUSTRI
PROGRAM STUDI TEKNIK INFORMATIKA
INSTITUT SAINS DAN TEKNOLOGI AKPRIND
YOGYAKARTA
2012
Modul 1
mysql> create database pethouse;
mysql> create table event (nama_kolom varchar(20),tanggal date, type varchar(15),remark varchar(255));
mysql> insert into event values('Buffy','1993-06-23','litter','5 puppies,2 female, 3 male'),('Buffy','1994-06-21','litter','3 puppies, 3 female'),('Chirpy','1999-03-21','vet','needed beak straightened');
mysql> load data local infile 'D:/input.txt' into table event;
Modul 2
Pertemuan 2 Tabel dan Manipulasi Data
mysql> CREATE DATABASE PRAK2;
mysql> use prak2;
1. Membuat table
Command Line
mysql> CREATE TABLE TABLE1(
=> id INT AUTO_INCREMENT,
=> name VARCHAR(30) NOT NULL,
=> salary FLOAT(10,2) DEFAULT 1000000);.
Hasil describe table1
2. Membuat table dengan Primary Key
Comand line
mysql> CREATE TABLE TABLE2(
=> id INT AUTO_INCREMENT PRIMARY KEY,
=> name VARCHAR(30));
Hasil describe table2
mysql> CREATE TABLE TABLE3(
=> id INT AUTO_INCREMENT,
=> name VARCHAR(30),
=> PRIMARY KEY (id));
Hasil describe table3
3.Membuat tabel dengan nilai unique
Command line
mysql> CREATE TABLE cars(
=> id INT PRIMARY KEY AUTO_IN
=> plate VARCHAR (10),
=> brand VARCHAR (10),
=> UNIQUE (plate));
Hasil describe table dengan nilai unique
4. Membuat table employee
Command line
mysql> CREATE TABLE employee(
=> id INT AUTO_INCREMENT PRIMARY
=> first_name VARCHAR(15),
=> last_name VARCHAR(15),
=> start_date DATE,
=> end_date DATE,
=> salary FLOAT(8,2),
=> city VARCHAR(10),
=> description VARCHAR(15));
· Hasil describe dengan statement select
· Mengisi tabel Employee :
1 5..Menyalin data dengan statement select
Command line
mysql> CREATE TABLE employee_copy AS
=> SELECT *
=> FROM employee
=> WHERE start_date BETWEEN '1970-01-01' AND '1990-12-31';
Hasil describe tabel copy employee
6. Membuat tabel Temporary
Command line
mysql> CREATE TEMPORARY TABLE TEMPTBL(
=> id INT PRIMARY KEY AUTO_INCREMENT,
=> name VARCHAR(30));
2 7. Insert Menggunakan data dari Orang lain
Command line
mysql> CREATE TABLE employee2 (
=> id INT AUTO_INCREMENT PRIMARY KEY,
=> name VARCHAR(15),
=> city VARCHAR(20));
Hasil Describe tabel employee 2
8. Mengubah data dengan menggunakan update
Command Line
mysql> UPDATE employee2
=> SET city = 'Ottawa'
=> WHERE city = 'Vancouver';
Hasil isi data tabel employee2 setelah di update
9. Mengubah nilai berdasarkan nilai yang di miliki sekarang
a. Data sebelum diubah
Command line
mysql> SELECT salary FROM employee;
Isi Tabel
b. Data Sesudah diubah
Command line
mysql> SELECT salary FROM employee;
Isi Tabel
10. Mengganti data dari tabel
Command line
mysql> REPLACE INTO employee2 (id,name, city) VALUES (12,'Sherlock Holmes','Manchester');
Hasil tabel setelah data di ubah
11. Menghapus data dari tabel
Command line
mysql> DELETE FROM employee2 WHERE city = 'Toronto';
Hasil tabel setelah data di hapus
Modul 3
PERTEMUAN 3 QUERY
SELECT Statement
Mengambil data dengan SELECT
mysql> select*from employee;
mengambil data pada kolom tertentu
myql> SELECT first_name,last_name, city FROM employee;
Query menggunakan parameter kondisi WHERE
Statement WHERE dapat digunakan untuk memfilter data yang ingin kita ambil.
mysql> SELECT first_name, last_name, city from employee WHERE city=’New York’;
Query menggunakan beberapa parameter kondisional
Statement AND (&&) atau OR ( || ) digunakan untuk memilih data
mysql> SELECT first_name,last_name,salary,city FROM employee WHERE city=’New York’ AND salary > 4000;
mysql> SELECT first_name, last_name, city, description
FROM employee
WHERE city =’Toronto’ OR description=’Tester’;
Memberikan alias hasil query pada SELECT
Query data bertipe teks dengan pattern matching
Digunakan untuk memilih data bertipe teks dengan karakteristik tertentu.
Command yang digunakan untuk melakukan pencocokan LIKE dan NOT LIKE
myql> SELECT CONCAT (first_name,” ”, last_name)
FROM employee
WHERE first_name LIKE ‘J_____’;
Mysql> SELECT CONCAT(first_name,” ”, last_name)
FROM employee
WHERE first_name NOT LIKE ‘%n’;
Query data unik menggunakan DISTINCT
Digunakan untuk menghilangkan duplikasi dari data yang dicari sehingga didapatkan data yang unik (hanya muncul satu kali).
mysql> SELECT description FROM employee;
mysql> SELECT DISTINCT description FROM employee;
Membatasi hasil query dengan LIMIT
mysql> SELECT*FROM employee LIMIT;
mysql> SELECT*FROM employee LIMIT 2,3;
mysql> SELECT*FROM employee LIMIT 0,3;
Mengelompokan hasil query emggunakan GROUP BY
mysql> SELECT*FROM employee GROUP BY city;
Mendapatkan jumlah anggota setiap kelompok menggunakan COUNT[ ]
mysql> SELECT city, COUNT(*) FROM employee GROUP BY city;
mysql> SELECT city, COUNT(*)
FROM employee
WHERE description=’Tester’
GROUP BY city;
Parameter kondisional dengan HAVING
Statement HAVING seperti WHERE , biasanya digunakan untuk pembatas sekunder setelah statement GROUP BY, walau bisa saja tanpa menggunakan GROUP BY
mysql> SELECT first_name, last_name, salary
FROM employee
HAVING salary > 3000;
mysql> SELECT city, COUNT(*), salary FROM employee WHERE salary > 3000 GROUP BY city;
mysql> SELECT city, COUNT(*), salary FROM employee GROUP BY city HAVING salary > 3000;
Penggunaan HAVING setelah ORDER BY memerlukan nam kolom yang akan difilter menggunakan HAVING ikut dipilih . jika tidak hasilnya :
Mengurutkan hasil query menggunakan ORDER BY
Digunakan untuk mengurutkan berdasarkan field/kolom teretentu.
mysql> SELECT CONCAT(first_name,” ", last_name) AS name
FROM employee
ORDER BY name;
Mengurutkan hasil query lebih dari satu kolom
mysql> SELECT first_name, last_name, city FROM employee ORDER BY first_name, city;
mysql> SELECT first_name, last_name, city FROM employee ORDER BY first_name, city DESC;
Kombinasi OEDER BY dengan LIMIT
Statement ORDER BY akan dieksekusi terlebih dahulu sebelum menegksekusi statement LIMIT
mysql> SELECT first_name, last_name, city FROM employee ORDER city LIMIT 4;
Operator BETWEEN
Digunakan untuk memfilter data yang bernilai di antara dua buah nilai yang dispesifikasikan.
mysql> SELECT first_name, last_name, salary FROM employee
WHERE salary BETWEEN 1000 and 3000;
BETWEEN juga dapat digunakan untuk memfilter nilai alfanumerik
Negasi dari BETWEEN adalah NOT BETWEEN
SUB QUERY
Adalah statement SELECT di dalam statement SELECT. Dinyatakan di dalam tanda kurung (). Statement di luar statement sub query adalah salah satu dari statement SELECT, INSERT, UPDATE, DELETE,SET, atau DO.
Operator penghubung “=” hanya dapat digunakan untuk meneriam satu buah nilai, sehingga ketiak hasil dari sub query berisis lebih dari satu data, maka :
Sub query dengan ALL
Sub query dengan ANY
Sub query dengan EXISTS
Sub query dengan IN
Table JOIN
Cross Join
Equi-Join atau Inner Join
Natural Join
Left Join dan Right Join
Update menggunakan Join Table
Delete menggunakan Join Table
Modul 4
Pertemuan 4 View dan Trigger
Tugas :
Tabel Employee_Join :
Tabel jobs :
1. Buatlah view yang berisi name (gabungan first_name dan last_name), salary, city, dan
job_description dari kedua tabel di atas.
job_description dari kedua tabel di atas.
2. Buatlah view untuk menampilkan job_description dan jumlah employee untuk masing-masing job.
3. Buatlah sebuah trigger untuk menyimpan data yang dihapus dalam tabel employee_join. Data yang
dihapus tersebut disimpan dalam tabel baru bernama employee_bak.