TUGAS 2 KELOMPOK SMBD MEMBUAT DABASE DENGAN MYSQL




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.



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.