Perintah Dasar SQL

Posted: October 2, 2014 in Praktikum

A. Dasar Teori

1. Hubungan Antar Tabel

Dalam dunia basis data, terdapat istilah hubungan antar tabel atau refernces. Untuk mengolah basis data sangat diperlukanlah yang namanya hubungan antar tabel tersebut agar setiap tabel yang di buat bisa saling terkait. Kita kenal kunci utama (primary key) dan kunci tamu (foreign key). Tujuan utama dari adanya kedua istilah tersebut adalah pengidentifikasian tiap table dan kejelasan hubungan antara 2 atau lebih table. Primary key adalah satu atau beberapa kolom pada table yang mengidentifikasikan tiap kolom dan baris pada table tersebut. Sedangkan Foreign Key adalah satu atau beberapa kolom pada table yang merupakan primary key pada table satu namun diletakan pada table dimana tablenya berelasi dengan table dirinya. Misalnya kita memiliki 2 tabel, yaitu tabel mhs dan matkul ;

  • CREATE TABLE  matkul( id_matkul CHAR(5) NOT NULL PRIMARY KEY, nm_matkul VARCHAR(30) NOT NULL, jml_sks VARCHAR (5) NOT NULL);
  • CREATE TABLE mhs( nim INT NOT NULL PRIMARY KEY, nama VARCHAR(50) NOT NULL, alamat VARCHAR(60) NOT NULL, id_matkul INT, FOREIGN KEY(id_matkul) REFERENCES matkul(id_matkul) );

Tabel ‘matkul’ sebagai tabel induk kita buat terlebih dahulu, kemudian baru kita buat tabel mhs sebagai tabel yang akan di berikan foreign key dari tabel matkul.

2. Memasukkan data

Dari tabel mhs dan matkul kemudian kita isi tabel seperti contoh tabel berikut ;

Table mhs
Nim                  Nama                          Alamat                Id_matkul
7644              Adi Artupida                Bekasi                      123
7634              Herman                        Bandung                  222
7635              Budianto Nahrowi      Semarang                111
7636              Sinta                              Bekasi                      333

 

Table Matkul
Id_matkul        Nm_matkul                   Jml_sks
123                    Pemrograman Web         3
111                     Pemrograman C               3
222                   Pemrograman Java          3
333                   Pemrograman OOP          3

Untuk memasukkan data ke dalam tabel kita dapat menggunakan perintah INSERT, dengan query seperti contoh di bawah ;

  • INSERT INTO mhs VALUES (7633,’Adi Artupida’,’Bekasi’,123), (7634,’Herman’,’Bandung’,222), (7635,’Budianto Nahrowo’,’Semarang’,111), (7636,’Sinta’,’Bekasi’,333);
  • INSERT INTO matkul VALUES (123,’Pemrograman Web’,3), (111,’Pemrograman C’,3), (222,’Pemrograman Java’,3), (333,’Pemrograman OOP’,3);

Dalam memasukkan data ada beberapa ketentuan yang harus di penuhi salah satunya adalah ketika kita memasukkan data yang bertipe VARCHAR kita harus memberikan tanda petik atas (‘ ‘) pada data tersebut. Akan berbeda pada data yang bertipe INT, BOOLEAN kita tidak perlu memberikan tanda petik (‘ ‘) ketika memasukkan data.

3. Menampilkan data

Menampilkan data dari sebuah tabel mungkin merupakan hal paling sering kita lakukan dalam menangani database. Pembuatan tabel MySQL hanya perlu di lakukan sekali di awal implementasi, namun input data (INSERT) dan menampilkannya kembali (SELECT) dalam format yang diinginkan merupakan rutinitas selama database masih digunakan. Perintah SELECT akan dibahas berkaitan dengan opsi WHERE, ORDER BY, dan LIMIT.

Format dasar ketika kita ingin menampilkan data, setidaknya kita butuh setidaknya 3 hal: 1. Apa saja kolom yang ingin ditampilkan, 2. Nama tabel yang akan ditampilkan, dan 3. Kondisi untuk menampilkan data. Query SELECT pada dasarnya juga terdiri dari 3 hal tersebut:

  • SELECT apa_yang_akan_ditampilkan FROM tabel_apa WHERE kondisi_apa_data_ditampilkan ;
Sebagai contoh kita ingin menampilkan isi semua tabel matkul, seperti contoh tabel di atas. query yang akan kita tuliskan adalah ;
  • SELECT*FROM matkul;

Tanda bintang (*) adalah wildcard atau tanda yang di gunakan untuk menandai semua data. Maka hasilnya semua data pada tabel matkul akan muncul.

Table Matkul
Id_matkul        Nm_matkul                   Jml_sks
123                    Pemrograman Web         3
111                     Pemrograman C               3
222                   Pemrograman Java         3
333                   Pemrograman OOP         3

Jika kita ingin menampilkan hanya sebahagian dari seluruh kolom dari sebuah tabel, kita dapat menentukan kolom mana saja yang akan ditampilkan. Format dasarnya adalah sebagai berikut:

  • SELECT namakolom1, namakolom2 . . . FROM namatabel ;

Kemudian, jika kita ingin menyeleksi tamilpilan berdasarkan baris tertentu bisa menggunakan  perintah WHERE yang diletakkan dibelakang nama tabel dan isikan nama kolom beserta  kata kunci sebagai dasar atau syarat dari pencarian baris. Untuk lebih jelasnya berikut  struktur perintah SQL nya :

  • SELECT namakolom1, namakolom2 . . . FROM namatabel WHERE namakolom=’kondisi’ ;

Kita contohkan dengaan menggunakan tabel mhs untuk menampilkan nama dan nim mahasiswa yang beralamat di bekasi :

  • SELECT Nim, Nama FROM mhs WHERE alamat=’bekasi’ ;

Maka akan menampilkan Nim dan Nama mahasiswa yang beralamat di bekasi ;

Nim                  Nama
7644              Adi Artupida

MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan. Pengurutan bisa dari paling kecil ke besar, ataupun besar ke kecil. Pilihan ini dapat diatur dengan penambahan instruksi ASC (singkatan dariascending) untuk pengurutan dari kecil ke besar, dan DESC (singkatan dari descending) untuk urutan dari besar ke kecil. Jika tidak di dijelaskan, secara default bawaan MySQL, perintah ORDER BY akan menggunakan ASC.Query dasar untuk SELECT…ORDER BY adalah:

  • SELECT namakolom1, namakolom2 . . . FROM namatabel WHERE nama_kolom_yang_diurutkan ORDER BY namakolomurut ; //nama kolom urut bisa di isi DESCENDING atau ASCENDING

Apabila kita ingin menampilkan data dari lebih dari satu tabel, struktur query nya terdapat sedikit perbedaan. Misalnya memakai tabel yang telah dibuat yaitu tabel mhs dan tabel matkul (Dengan syarat adanya relasi antara kedua tabel tersebut). Berikut Struktur query nya :

  • SELECT namakolom1, namakolom2, namakolom3, namakolom4 FROM  namatabe1, namatabel2 WHERE namatabel1.namakolom = namatabel2.namakolom ;

Query di atas akan menampilkan nama kolom dari dua tabel yang telah di beri relasi antara keduanya.

4. Modifikasi Data

Dalam memodifikasi database bisa menggunakan perintah UPDATE untuk memodifikasi isi tabel. Dengan query UPDATE kita bisa mengganti data lama dengan data bar. Berikut query UPDATE untuk mengganti data tabel :

UPDATE nama_tabel SET nama_kolom = data_baru WHERE kondisi

  • UPADATE namatabel SET namakolom = databaru WHERE kondisi ;

Kita bisa menambahkan perintah logika berupa OR atau AND.

5. Mengahapus Data

Pada MySQL, perintah DELETE digunakan untuk menghapus data pada sebuah tabel. Berikut Struktur yang digunakan :

  • DELETE FROM namatabel ;

Dari query kita akan menghapus semua baris data dari nama tabel yang tertulis. Namun apabila kita ingin menghapus berdasarkan spesifikasi baris atau baris tertentu saja. Kita bisa menggunakan struktur query sebagai berikut :

  • DELETE FROM namatabel WHERE namakolom = katakunci ;

Dengan struktur quey di atas kita bisa menghapus kolom yang kita inginkan.

 

B. Praktek Perintah Dasar SQL

Pada bahasan ini kita akan mempraktekan perintah perintah dasar SQL di atas menggunkan 2 tabel yaitu tabel mahasiswa dan fakultas. Kita mulai dengan membuat 2 tabel terlebih dahulu dengan memberi relasi antara kedua tabel tersebut.

1. Membuat Tabel dengan Relasi

Untuk pertama kita membuat tabel fakultas dengan isi kolom id_fak dan nama_fak, berikut query nya :

mysql> create table fakultas ( id_fak INT NOT NULL PRIMARY KEY, nama_fak varchar (10));

praktikum desain basis data

Tabel Relasi MySQL, Membuat Tabel pada MySQL

Kemudian kita akan membuat tabel mahasiswa yang kemudian kita relasikan dengan tabel fakultas, berikut query ;

mysql> create table mahasiswa (nim_mah INT NOT NULL PRIMARY KEY, nama_mah varchar (10), alamat_mah varchar (10), id_fak INT NOT NULL, foreign key (Id_fak) references fakultas (id_fak));

Praktikum Desain Basis Data

Tabel Relasi MySQL, Membuat Tabel Relasi pada MySQL

 

2. Memasukkan Data

Seperti yang telah di terangkan di atas kita akan menggunakan perintah INSERT untuk memasukkan data ke tabel. Berikut query yang akan kita tuliskan untuk memasukkan data ke dalam tabel ;

mysql> insert into mahasiswa values (12, ‘edi’, ‘malang’, 1, 0856453428), (13, ‘sinta’, ‘jogja’, 1, 0813347565675), (14, ‘luki’, ‘ponorogo’, 2, 08257658798);

Praktikum Desain Basis Data

Memasukkan Data Pada MySQL, INSERT pada MySQL

mysql> insert into fakultas values (1, ‘SAINTEK’), (2, ‘PSIKOLOGI’);

Praktikum Desain Basis Data

Memasukkan Data pada MySQL, INSERT Data Pada MySQL

3. Menampilkan Data Berupa nim dan nama

Untuk menampilkan data dari tabel mahasiswa berpa nim dan nama kita akan menggunakan perintah SELECT.

mysql> select nim_mah, nama_mah from mahasiswa;

Praktikum Desain Basis Data

Menampilkan data MySQl, Perintah SELECT pada MySQL

4. Menampilkan Data Dari 2 Tabel

Menampilkan data dari 2 tabel yang di ambil berdasarkan nim, nama mahasiswa, nama fakultas. Kita akan menggunakan perintah SELECT  yang di berikan perintah WHERE.

mysql> select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;

Praktikum Desain Basis Data

Menampilkan data References MySQl, SELECT pada MySQL

5. Menghapus Data Mahasiswaa yang Diingikan

Disini kita akan menghapus data mahasiswa yang memiliki nim = 13

mysql> delete from mahasiswa where nim_mah=13;

Praktikum Desain Basis Data

Menghapus Data pada MySQL, DELETE pada MySQL

6. Merubah Data

Untuk merubah data kita menggunakan query UPDATE seperti teori di atas, kita rubah data di kolom no_telp dan alamat_mah pada mahasiswa yang memiliki nim=12. Berikut query nya ;

mysql> update mahasiswa set alamat_mah = ‘solo’ where nim_mah=12;

mysql> update mahasiswa set no_telp = 0857688788 where nim_mah=12;

Praktikum Desain Basis Data

Merubah Data pada MySQL, UPDATE pada MySQL

7. Menampilkan Data Berdasarkan Nomor Urut

Mengurutkan data dari besar ke kecil berdasarkan nim mahasiswa kemudian menampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.

mysql> select*from mahasiswa order by nim_mah desc;

mysql> select*from fakultas order by 2 asc;

Praktikum Desain Basis Data

Menampilkan Data Secara Urut, SELECT pada MySQL

8. Menampilkan Seluruh Data Dari 2 Tabel

Menampilkan seluruh data dari tabel mahasiswa dan fakultas menggunakan perintah SELECT.

mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;

Menampilkan Data Dari 2 tabel

9. Menampilkan Data Mahasiswa Denagn Logika AND

Menampilkan seluruh dat mahasiswa yang berada di SAINTEK dan PSIKOLOGI

mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and nama_fak=’SAINTEK’;

mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and nama_fak=’PSIKOLOGI’;

Praktikum Desain Basis Data

Menampilkan Seluruh Data Dari 2 Tabel, SELECT pada MySQl

10. Menampilkan Data Mahasiswa Denagn Logika !=

Menampilkan data mahasiswa yang tidak berada si fakultas saintek

Praktikum Desain Basis Data

Menampilkan Seluruh Data Dari 2 Tabel, SELECT pada MySQl

11. Menghapus Data

Hapus Data fakultas SAINTEK. Untuk menghapus data yang berada di SAINTEK, kita harus menghapus terlebih dahulu data yang berhubungna dengan SAINTEK pada tabel mahasiswa.

mysql> delete from mahasiswa where id_fak=1;
mysql> delete from fakultas where nama_fak=’SAINTEK’;

Praktikum Desain Basis Data

Menghapus Data, DELETE pada MySQL

 

C. Perbedaan, Kesamaan, Kelebihan dan Kekurangan Pada DBMS PostgreSQL dan MySQL

Umumnya pada setiap DBMS memiliki perbedaan pada Struktur Query, tetapi perbedaan itu tidaklah sepenuhnya berbeda. Kadang pada perintah tertentu memiliki kesamaan Struktur Query. Termasuk pada DBMS PostgreSQL dan pada MySQL kadang juga memiliki kesamaan. Pada paparan perintah dasar MySQL di atas terlihat bahwa MySQL dan PostgreSQL memiliki kesamaan pada Struktur Query nya. Baik itu pada perintah INSERT, SELECT, UPDATE, dan DELETE pada MySQL sama persis dengan perintah yang ada pada PostgreSQL.

D. Kesimpulan

Dalam basis data terdapat istilah hubungan antar tabel atau lebih di kenal references. Kita dapat memanipulasi setiap data yang kita masukkan, baik menggunakan perintah INSERT, SELECT, UPDATE, atau DELETE. Kita bisa menggunakan DBMS PostgreSQL ataupun MySQL untuk memanipulasi data tersebut. karena pada PostgreSQL dan MySQL memiliki kesamaan pada perintah tersebut.

 

 

Leave a comment