Rabu, 27 November 2013

Menampilkan Data Tertentu dalam SQL













Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\thosiba>cd;..\..\

C:\>cd;xampp\mysql\bin;
The system cannot find the path specified.

C:\>cd;xampp\mysql\bin

C:\xampp\mysql\bin>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 83
Server version: 5.1.41 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| distro             |
| latihanfitri       |
| login              |
| majelisdzikir      |
| modeldb            |
| mysql              |
| pemesanan          |
| phpmyadmin         |
| spp                |
| stmikraharja       |
| test               |
| twitter            |
+--------------------+
14 rows in set (0.19 sec)

mysql> use stmikraharja;
Database changed
mysql> select*from mahasiswa;
+------------+---------------+--------+---------------+-------------------+
| nim        | nama          | kelas  | jenis_kelamin | alamat            |
+------------+---------------+--------+---------------+-------------------+
| 1114369610 | Wahyu Setiono | D3T134 | L             | Sudirman          |
| 1234567890 | Alam Pratama  | D3T134 | L             | Sudirman          |
| 1234567891 | Fitri Apriani | D3T134 | P             | Tamrin            |
| 1234567892 | Aminah        | D3T134 | P             | Sudirman          |
| 1234567893 | Aris Ridho    | D5T136 | L             | Solo              |
| 1234567894 | Aisyah r.h    | D5T136 | P             | Tamrin            |
| 1234567896 | Sri Wahyuni   | D3T134 | P             | Cikokol           |
| 1234567898 | Iswahyudi     | D3T134 | L             | Bandara Sukarno H |
| 1234567821 | Veny Febri    | D3T134 | P             | Balaraja Plosok   |
| 1234567822 | Eko Dwi Roso  | D5T136 | L             | Rajeg             |
+------------+---------------+--------+---------------+-------------------+
10 rows in set (0.00 sec)

mysql> select*from mahasiswa where jenis_kelamin='P' and (kelas='D3T134');
+------------+---------------+--------+---------------+-----------------+
| nim        | nama          | kelas  | jenis_kelamin | alamat          |
+------------+---------------+--------+---------------+-----------------+
| 1234567891 | Fitri Apriani | D3T134 | P             | Tamrin          |
| 1234567892 | Aminah        | D3T134 | P             | Sudirman        |
| 1234567896 | Sri Wahyuni   | D3T134 | P             | Cikokol         |
| 1234567821 | Veny Febri    | D3T134 | P             | Balaraja Plosok |
+------------+---------------+--------+---------------+-----------------+
4 rows in set (1.13 sec)

mysql> select*from mahasiswa where alamat='Sudirman' and alamat='Tamrin';
Empty set (0.00 sec)

mysql> select*from mahasiswa where alamat='Sudirman' or alamat='Tamrin';
+------------+---------------+--------+---------------+----------+
| nim        | nama          | kelas  | jenis_kelamin | alamat   |
+------------+---------------+--------+---------------+----------+
| 1114369610 | Wahyu Setiono | D3T134 | L             | Sudirman |
| 1234567890 | Alam Pratama  | D3T134 | L             | Sudirman |
| 1234567891 | Fitri Apriani | D3T134 | P             | Tamrin   |
| 1234567892 | Aminah        | D3T134 | P             | Sudirman |
| 1234567894 | Aisyah r.h    | D5T136 | P             | Tamrin   |
+------------+---------------+--------+---------------+----------+
5 rows in set (0.02 sec)

mysql> update mahasiswa set nama='Wahyu Setiono' where nama='Wahyu Setiono Updat
e';
Query OK, 0 rows affected (0.03 sec)
Rows matched: 0  Changed: 0  Warnings: 0

mysql> select * from mahasiswa where nim=1114369610;
+------------+---------------+--------+---------------+----------+
| nim        | nama          | kelas  | jenis_kelamin | alamat   |
+------------+---------------+--------+---------------+----------+
| 1114369610 | Wahyu Setiono | D3T134 | L             | Sudirman |
+------------+---------------+--------+---------------+----------+
1 row in set (0.00 sec)

mysql> update mahasiswa set nama='Wahyu Setiono ganti' where nim=1114369610;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from mahasiswa where nim=1114369610;
+------------+---------------------+--------+---------------+----------+
| nim        | nama                | kelas  | jenis_kelamin | alamat   |
+------------+---------------------+--------+---------------+----------+
| 1114369610 | Wahyu Setiono ganti | D3T134 | L             | Sudirman |
+------------+---------------------+--------+---------------+----------+
1 row in set (0.00 sec)

mysql> select*from mahasiswa where  kelas like'D3%';
+------------+---------------------+--------+---------------+-------------------
+
| nim        | nama                | kelas  | jenis_kelamin | alamat
|
+------------+---------------------+--------+---------------+-------------------
+
| 1114369610 | Wahyu Setiono ganti | D3T134 | L             | Sudirman
|
| 1234567890 | Alam Pratama        | D3T134 | L             | Sudirman
|
| 1234567891 | Fitri Apriani       | D3T134 | P             | Tamrin
|
| 1234567892 | Aminah              | D3T134 | P             | Sudirman
|
| 1234567896 | Sri Wahyuni         | D3T134 | P             | Cikokol
|
| 1234567898 | Iswahyudi           | D3T134 | L             | Bandara Sukarno H
|
| 1234567821 | Veny Febri          | D3T134 | P             | Balaraja Plosok
|
+------------+---------------------+--------+---------------+-------------------
+
7 rows in set (0.65 sec)

mysql> select nama,kelas from mahasiswa;
+---------------------+--------+
| nama                | kelas  |
+---------------------+--------+
| Wahyu Setiono ganti | D3T134 |
| Alam Pratama        | D3T134 |
| Fitri Apriani       | D3T134 |
| Aminah              | D3T134 |
| Aris Ridho          | D5T136 |
| Aisyah r.h          | D5T136 |
| Sri Wahyuni         | D3T134 |
| Iswahyudi           | D3T134 |
| Veny Febri          | D3T134 |
| Eko Dwi Roso        | D5T136 |
+---------------------+--------+
10 rows in set (0.01 sec)

mysql> WAHYU SETIONO Allhamdulilah selesai (^_^)

Selasa, 26 November 2013

Membuat Database dengan Command Prompt pada Xampp

          1.  Install aplikas  XAMPP.
          2.      Jalankan Command Prompt dengan menekan tombol Windows + R lalu ketikan CMD hingga muncul tampilan                      berikut.
          3.      Lalu ketikkan perintah cd.. sampai tampilannya menjadi seperti berikut.




        4.    Setelah itu ketikkan perintah :
a.       cd xampp enter
b.      cd mysql enter
c.       cd bin enter
d.      Pastikan setelah diketikkan perintah tadi direktorinya menjadi seperti C:\xampp\mysql\bin>
Sampai muncul tampilan berikut.



           5.      Lalu ketikkan perintah mysql –u root


            6.      Lalu untuk membuat database ketikkan perintah create database “Nama Database, sebagai contoh kita akan                            membuat database dengan nama Contoh, maka perintahya adalah create database contoh. Jika ada tulisan Query OK            …. Berarti sudah benar.


               7.      Setelah itu kita cek database kita, ada atau tidak dengan menggunakan perintah show databases;.

               
             8.      Untuk membuat tabel pada database yang kita buat tadi ketikkan perintah :
a.       use contoh enter
b.      show tables; enter (untuk melihat apakah sudah ada tabel pada database kita, jika saat diketikkan perintah lalu muncul tulisan Empty set …., berarti belum ada tabel.
c.       create table “nama tabel” (“nama field” “type field” (“size”)); tanpa tanda kutip “jika ingin menambahkan field beri tanda ( , ) sebelum “ ); “ dan dilanjutkan dengan perintah “nama field” “type field” (“size”), dan jika sudah akhiri dengan ); contoh create table  contoh_tabel (Nama varchar (20), Kelas varchar (10), NIS int (10));
*Nama tabel tidak boleh menggunakan spasi
*Untuk type data Angka = int , Text = varchar

                 
                  9.   Setelah itu jika sudah benar akan ada tulisan query OK …. Seperti gambar diatas.
                 10.  Setelah itu kita cek tabel kita dengan perintah show tables;.
                Dapat dilihat seperti gambar di bawah, bahwa pada database Contohterdapat tabel Contoh_Tabel.
                     

                      11.  Setelah itu kita lihat isi tabel yang kita buat dengan menggunakan perintah desc contoh_tabel.
                             
                             12.  Selesai, jika kita akan menghapus berikut perintah menghapusnya :
a.       drop table “nama tabel”(untuk menghapus tabel pada database)
b.      drop database “nama database”;(untuk menghapus database beserta tabel)
*Tanpa tanda kutip

Senin, 18 November 2013

Bahasa Query Komersil


SQL (Structure Query Language)

1.Sejarah SQL

Sejarah dari SQL tidak lepas dari sejarah project dari IBM yang bernama System R. Tujuan dari project ini adalah untuk penelitian Relational ( hubungan ) Databases Server. Project ini dibuat pada laboratorium penelitian IBM di San Jose California. Project tersebut diniatkan untuk mendemonstrasikan keunggulan penggunaan fitur dari relasi pemodelan yang akan diterapkan pada suatu sistem untuk memenuhi kebutuhan database modern server.
Project System R ini telah memecahkan permasalahan yaitu permasalahan tentang tidak adanya bahasa baku pada relasional database. Sehingga dengan adanya bahasa yang baku, setiap database dapat diacu dengan mudah. Sequel adalah nama bahasa yang diasung oleh adanya project System R ini yang didesain oleh R.F Boyce dan D.D. Chamberlin. Dalam pembuatan project tersebut, bahasa Sequel berganti nama menjadi SQL karena kata “Sequel” bermasalah dalam trademark.
Project System R terbentuk dari 3 tahap, tahap pertama dinamakan tahap ke-0 sekitar tahun 1974-1975. Pada tahap ini hanya sebagian kecil yang di-implementasikan pada SQL. Sebagai contoh, fungsi JOIN ( menggunakan data dari beberapa table) belum diterapkan namun hanya single user version yang dulu diterapkan. Tujuan pada tahap ini adalah untuk mengetahui apakah implementasi pada beberapa sistem dapat diterapkan.
Tahap ke-1 dimulai pada tahun 1976-1977. Semua kode program ditulis pada tahap ke-0 sebagai awalan. Pada tahap ke-1 ini terdiri dari keseluruhan sistem, hal ini berarti pada tahap ini telah banyak hal baru dibuat. Sebagai contoh telah terbentuknya multiuser dan penggunaan JOIN.Tahap terakhir dari System R adalah sistem ini telah terinstal di beberapa komponen dalam IBM dan sebagian besar dari client IBM. Tahap ini terjadi sekitar tahun 1978-1979.
Para pengembang menggunakan pengetahuan yang dimiliki dan teknologi dari penerapan pada 3 tahap untuk membuat SQL/DS. SQL/DS adalah relational database server yang bersifat komersil pertama milik IBM. Pada tahun 1981, SQL/DS menjadi paket penjualan dari sistem operasi DOS/VSE, dan versi VM/CMS muncul tahun 1983. Pada tahun yang sama DB2 juga telah dilauncing. Sekarang ini DB2 telah banyak digunakan oleh beberapa sistem operasi.
IBM telah mempublikasikan idenya mengenai pengembangan dari System R pada suatu konferensi atau seminar mengenai relational database server sehingga perusahaan lain seperti Oracle menggunakan SQL sebagai bahasa databasenya. Dalam beberapa tahun sekarang ini telah muncul produk dari SQL pada dunia IT. Dan akhirnya SQL menjadi bahasa yang compatible dengan semua sistem operasi baik yang besar maupun yang kecil.

2.Jenis SQL
1.Interactive  :    langsung dapat dioperasikan.
2.Embedded :     disisipkan ke dalam sebuah program
( Cobol, C, Fortran )

3.Steatmen SQL
1. Data Definition Language ( DDL )
2. Data Manipulation Language ( DML )
3. Data Access
4. Data Integrity
5. Auxiliry


1. DDL atau Data Definition Language adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain.
Contoh perintah DDL :
  • Membuat tabel
CREATE TABLE
Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :
CREATE TABLE [schema, ] table
( column datatype [DEFAULT expr][,...]);
  • Menghapus tabel
DROP TABLE
Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :
Semua data dan struktur dari table akan dihapus Semua transaksi pending akan di-commit Semua indeks akan dihapus Perintah drop ini tidak bisa di-rollback Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :
DROP TABLE dept;

  • Menambah /menghapus kolom
  • Statemen ALTER TABLE digunakan untuk :
    ~ Menambahkan kolom baru
    Untuk menambah kolom baru, syntax umumnya sebagai berikut :
ALTER TABLE table
ADD         (column datatype [DEFAULT expr]
 [, column datatype]...);

~ Memodifikasi kolom yang sudah ada
Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.
Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :
ALTER TABLE table
MODIFY      (column datatype [DEFAULT expr]
 [, column datatype] ... );

View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :
CREATE VIEW <namaTabel> AS
 <SQLQuery>

Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:
CREATE TRIGGER <namaTrigger> ON TABLE <namaTabel>
FOR [DELETE] [,] [INSERT] [,] [UPDATE]
AS <perintahSQL>




 2. DML atau Data Manipulation Language adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table.
  • Penambahan data pada sebuah tabel
Syntax:
INSERT INTO nama_tabel(field ke-1, ….. field ke-n)
VALUES(nilai_field_ke-1, …. nilai_field_ke-n);

  • Pembaruan data  pada sebuah tabel
Syntax:
UPDATE nama_tabel
SET nama_field = data_baru
WHERE nama_field = data_lama;

  • Penghapusan data pada sebuah tabel
Syntax:
DELETE FROM nama_tabel
[ WHERE kondisi];

  • Pemilihan data dari satu atau beberapa tabel
Syntax :
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]


3.  Data Access Yaitu perintah yang digunakan untuk mengontrol hak akses pada suatu database.
Perintah Data Control Language (DCL) :
  • GRANT
  • REVOKE
Contoh penggunaan perintah DCL :
  • Memberikan hak akses UPDATE pada tabel MHS terhadap user FAIZ
GRANT UPDATE ON MHS TO FAIZ;
  • Mencabut Hak Akses UPDATE pada tabel MHS dari user FAIZ
REVOKE UPDATE ON MHS FROM FAIZ;


4. Data Integrity (Recover Table) Yaitu perintah yang digunakan untuk mengembalikan data sebelum terjadi kerusakan.
Perintah Recover Tabel
  • RECOVER TABLE
Contoh penggunaan perintah recover table
  • Kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan
RECOVER TABLE MHS;
5. Auxiliry Yaitu Perintah yang digunakan untuk mengubah data maupun kolom pada tabel.

Perintah Auxiliary :
  • UNLOAD
  • LOAD
  • RENAME
Contoh penggunaan Perintah Auxiliary :
  • Ubah semua data mahasiswa ke bentuk ASCII dan disimpak ke file text di directory /home/indra/
UNLOAD TO "home/indra" DELIMITER "|" SELECT * FROM MHS;
  • Merubah file text ke tabel MHS_2 di directory home/indra;
LOAD FROM "home/indra" DELIMITER "|" INSERT INTO MHS_2;
  • Merubah nama tabel MHS menjadi KELAS
RENAME TABLE MHS TO KELAS;