Laman

Rabu, 16 Januari 2013

Tugas 2 SMBD part 3

MODUL 3
PERTEMUAN 3 QUERY

SELECT Statement

Mengambil data dengan SELECT
Syntax mysql :
mysql> select*from employee;



Mengambil data pada kolom tertentu
Syntax mysql :
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.
Syntax mysql :
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
Syntax mysql :
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.
Syntax mysql :
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).
Syntax mysql :
mysql> SELECT description FROM employee;



mysql> SELECT DISTINCT description FROM employee;



Membatasi hasil query dengan LIMIT
Syntax mysql :
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
Syntax mysql :
mysql> SELECT*FROM employee GROUP BY city;



Mendapatkan jumlah anggota setiap kelompok menggunakan COUNT[ ]
Syntax mysql :

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
Syntax mysql :
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.
Syntax mysql :
mysql> SELECT CONCAT(first_name,” ", last_name) AS nama FROM employee ORDER BY name;



mysql> SELECT CONCAT(first_name,” ”,last_name) as name FROM employee ORDER BY name desc;



Mengurutkan hasil query lebih dari satu kolom
Syntax mysql :
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
Syntax mysql :
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.
Syntax mysql :
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 dapt digunakan untuk meneriam satu buah nilai, sehingga ketiak hasil dari sub query berisis lebih dari satu data, maka :



Sub query dengan ALL
      Command ALL diikuti dengan operator perbandingan digunakan memiliki arti menampilkan nilai jika
perbandingan bernilai benar untuk semua data.



Sub query dengan ANY
     Command ANY diikuti dengan operator perbandingan memiliki arti menampilkan nilai yang sesuai
dengan apapun yang dihasilkan oleh sub query. Alias dari ANY adalah SOME.




Sub query dengan EXISTS
     Sebuah sub query dengan EXISTS memberikan nilai TRUE jika sub query tersebut memiliki hasil. Jika sub query bernilai TRUE, maka query utama akan dijalankan. Negasi dari sub query EXISTS adalah NOT
EXISTS.





Sub query dengan IN
     Seperti yang telah disebutkan sebelumnya, operator “=” hanya dapat digunakan ketika hasil sub query
memiliki hasil tepat satu. Jika hasil sub query berjumlah lebih dari satu data, maka kita dapat
menggunakan IN.







Table JOIN
     Dalam basis data relasional, kita mengenal relasi antar tabel. Untuk melakukan query terhadap dua atau
lebih tabel yang memiliki relasi, kita bisa menggunakan fitur table join di MySQL.









Cross Join
     Operasi tabel yang pertama adalah cross join atau disebut juga sebagai Cartesian join. Pada cross join,
semua data dalam tabel yang pertama dipasangkan dengan semua data pada tabel yang kedua.



Equi-Join atau Inner Join
      Inner join menggabungkan tabel dengan membandingkan nilai yang sama antara dua buah kolom.
Kolom yang dibandingkan dapat kita spesifikasikan.



Natural Join
     Natural join sebenarnya mirip dengan INNER JOIN. Namun kita tidak perlu menspesifikasikan kolom
mana yang ingin kita bandingkan. Secara automatis, MySQL akan mencari kolom pada dua buah tabel
yang memiliki nilai yang sama dan membandingkannya.




Left Join dan Right Join
     Left join dan right join digunakan untuk menghindari data yang hilang karena mungkin ada data yang
belum direferensi oleh tabel yang lain.




Update menggunakan Join Table



Delete menggunakan Join Table



 














 















Tugas 2 SMBD part 2

MODUL 2
Pertemuan 2 Tabel dan Manipulasi Data

TUGAS

mysql> CREATE DATABASE PRAK2;
mysql> use prak2;

1.    Membuat table
Syntax mysql :
  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
       Primary key adalah nilai yang menjadi pembeda antara satu record data dengan record yang lain.
Membuat tabel dengan primary key ditunjukkan sebagai berikut:

Syntax mysql :
mysql> CREATE TABLE TABLE2(
      => id INT AUTO_INCREMENT PRIMARY KEY,
      => name VARCHAR(30));

Hasil describe table2



Syntax mysql :
mysql> CREATE TABLE TABLE3(
     => id INT AUTO_INCREMENT,
     => name VARCHAR(30),
     => PRIMARY KEY (id));

 Hasil describe table3



3.    Membuat tabel dengan nilai unique
       UNIQUE memberikan batasan bahwa nilai dalam sebuah kolom harus distinct (atau tidak ada data yang
nilainya sama).

Syntax mysql :
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
 Syntax mysql :
  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



5.    Menyalin data dengan statement select
Syntax mysql :
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
       Temporary tabel adalah tabel yang visible atau terlihat hanya pada koneksi yang sedang aktif dan akan
langsung dihapus ketika koneksi sudah terputus.


Syntax mysql :
mysql> CREATE TEMPORARY TABLE TEMPTBL(
       => id INT PRIMARY KEY AUTO_INCREMENT,
       => name VARCHAR(30));


7.    Insert Menggunakan data dari Orang lain
Syntax mysql :
 mysql> CREATE TABLE employee2 (
                 => id INT AUTO_INCREMENT PRIMARY KEY,
                 => name VARCHAR(15),
                 => city VARCHAR(20));

 Hasil Describe tabel employee 2



Memasukan data dari tabel employee ke tabel employee2
Syntax mysql :
mysql> INSERT INTO employee2
      => (id, name, city)
      => SELECT id, CONCAT(first_name,' ',last_name), city
      => FROM employee;

Hasil Select dari tabel employee2



8.    Mengubah data dengan menggunakan update
Syntax mysql :
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
Syntax mysql :
mysql> SELECT salary FROM employee;
Isi Tabel



b.    Data Sesudah diubah
Syntax mysql :
mysql> SELECT salary FROM employee;
Isi Tabel



10.    Mengganti data dari tabel
Syntax mysql :
mysql> REPLACE INTO employee2 (id,name, city) VALUES (12,'Sherlock Holmes','Manchester'); 
Hasil tabel setelah data di ubah



11.    Menghapus data dari tabel
Syntax mysql :
mysql> DELETE FROM employee2 WHERE city = 'Toronto';
Hasil tabel setelah data di hapus














































 





Tugas 2 SMBD part 1

MODUL 1
Pertemuan 1 Pengantar MySQL

TUGAS

1.  Buat sebuah tabel bernama 'event' dalam database 'pethouse' dengan kolom sebagai    berikut:



Jawab :  
Syntax my sql :
 mysql> create table event (name varchar(20), date Date ,type varchar(15),remark varchar(255));
Hasil : 




2.  Isikan tabel tersebut dengan data sebagai berikut menggunakan INSERT


Jawab :  
Syntax my sql :
mysql> insert into event values('Fluffy','1995-05-15','Litter','4 kittens, 3 Female, 1 male');           mysql> insert into event values('Buffy','1993-06-23','Litter','5 puppies, 2 female, 3 male ');
mysql> insert into event values('Buffy','1994-06-19','Litter','3 puppies,3 female ');
mysql> insert into event values('Chirpy','1999-03-21','Vet','needed beak straightened ');
Hasil :





3.    Isikan tabel tersebut dengan data sebagai berikut menggunakan LOAD DATA

Jawab :  
Syntax my sql :
 mysql> load data local infile 'E:/d1.txt' into table event;


4.    Menampilkan dengan command Select