Mengenal SQL (Structure Query Language)

Pengertian SQL

SQL (Structure Query Language) adalah bahasa query database yang digunakan untuk menyimpan dan mengelola data dalam Relational Database. SQL saat ini di gunakan untuk melakukan semua jenis operasi data di RDBMS (MySql, Oracle, Infomix, Sybase, MS Access). Di dalam mengelola database ini kita mengenal adanya Query SQL. Apa Query SQL itu? Di artikel ini akan di bahas lengkap tentang Query SQL beserta penerapannya.

Query SQL

Untuk memanipulasi data yang di simpan di dalam database relasional, SQL mendefiniskan beberapa cara diantaranya adalah:

DDL: Data Definition Language

DDL merupakan query SQL yang memungkinkan kita untuk melakukan perubahan struktur pada tabel seperti pembuatan tabel, mengubah tabel, menghapus tabel, dan lainnya. DDL bersifat Auto-Committed yang artinya semua perubahan akan tersimpan secara permanen di dalam database.

Di bawah ini beberapa query DDL:

Query DDL

Deskripsi

Create

Untuk membuat tabel baru atau database baru

Alter

Untuk melakukan perubahan struktur pada tabel seperti menambahkan baris (Add), Mengganti nama baris (Change), memberikan nama (Rename), atau menghapus baris (Drop)

Truncate

Untuk menghapus data pada tabel

Drop

Untuk menghapus tabel dan database

Rename

Untuk memberi nama tabel

Penerapan Query DDL:

Query “CREATE” DDL membuat database:

CREATE DATABASE <NAMA DATABASE>;

Contoh:

CREATE DATABASE Presensi;

Query di atas akan membuat database dengan nama “Presensi” yang akan menjadi skema kosong tanpa tabel apapun. Untuk membuat tabel di dalam database “Presensi” maka kita bisa menggunakan perintah Create kembali seperti di bawah ini.

Query “CREATE” DDL membuat tabel:

CREATE TABLE <NAMA TABEL>

(

nama_kolom1 tipeData1,

nama_kolom2 tipeData2

);

 

Contoh:

 

CREATE TABLE MHS(

nim_mhs VARCHAR(10) NOT NULL PRIMARY KEY,

nama_mhs VARCHAR(30)

);

Query di atas akan membuat tabel baru dengan nama “MHS” pada database “Presensi” sebanyak 2 kolom yaitu nim_mhs, dan nama_mhs. Kolom nim_mhs akan menyimpan data dengan jenis varchar hingga 10 karakter, bersifat Primary Key dan tidak boleh kosong. Sedangkan untuk nama_mhs akan menyimpan data dengan jenis varchar hingga 30 karakter.

Kita juga bisa menambahkan nama database bersamaan dengan nama tabel menggunakan operator “.” Misalnya kita memiliki database dengan nama “Presensi” dan kita akan membuat tabel dengan nama MHS, maka query nya sebagai berikut:

CREATE TABLE MHS.Presensi(

nim_mhs VARCHAR(10) NOT NULL PRIMARY KEY,

nama_mhs VARCHAR(30)

);


Query “ALTER” DDL menambahkan kolom:

Untuk menambahkan kolom baru pada tabel (Add), kita bisa menggunakan query Alter seperti di bawah ini:

ALTER TABLE nama_tabel ADD (

nama_kolom1 tipeData1,

nama_kolom2 tipeData2

);

Contoh:

ALTER TABLE MHS ADD (

alamat_mhs VARCHAR(50),

jurusan_mhs VARCHAR(20)

);

Query di atas akan menambahkan 2 kolom baru pada tabel “MHS” dengan nama alamat_mhs dan jurusan_mhs dimana alamat_mhs akan menyimpan data dengan jenis varchar hingga 50 karakter dan jurusan_mhs akan menyimpan data dengan jenis varchar hingga 20 karakter.

Query “ALTER” DDL menambahkan kolom dengan nilai default:

Query Alter juga bisa di gunakan untuk menambahkan kolom dengan nilai default. Nilai default artinya ketika tidak ada nilai yang di masukkan ke dalam kolom sehingga kita bisa menggunakan query Alter sebagai berikut:

ALTER TABLE nama_tabel ADD (

nama_kolom tipeData DEFAULT nilai_default

);

Contoh:

ALTER TABLE MHS ADD (

tahun_angkatan YEAR DEFAULT ‘2016’

);

Query di atas akan menambahkan kolom baru pada tabel ‘MHS’ dengan nama tahun_angkatan dengan nilai default = ‘2016’.

Query “ALTER” DDL modifikasi kolom yang sudah ada:

Kita bisa melakukan modifikasi pada kolom yang sudah ada pada sebuah tabel dengan query di bawah ini:

ALTER TABLE nama_tabel MODIFY (

nama_kolom tipeData

);

Contoh:

ALTER TABLE MHS MODIFY (

jurusan_mhs VARCHAR(30)

);

Dari query di atas, kolom jurusan_mhs dari yang semula menyimpan data dengan jenis varchar hingga 20 karakter diubah menjadi 30 karakter.

Query “ALTER” DDL memberi nama pada kolom:

Fungsi alter lainnya adalah untuk memberi nama baru pada kolom yang sudah ada pada sebuah tabel. Query nya adalah sebagai berikut:

ALTER TABLE nama_tabel RENAME

nama_kolom_lama TO nama_kolom_baru;

Contoh:

ALTER TABLE MHS MODIFY

alamat_mhs TO alamat;

Dari query di atas kita akan memberi nama baru pada kolom alamat_mhs menjadi alamat.

Query “ALTER” DDL menghapus kolom:

Untuk menghapus sebuah kolom, kita bisa menggunakan query di bawah ini:

ALTER TABLE nama_tabel DROP (

nama_kolom

);

Contoh:

ALTER TABLE MHS DROP (

 tahun_angkatan

);

Query di atas akan menghapus kolom tahun_angkatan pada tabel MHS.

Query “TRUNCATE” DDL menghapus kolom:

Query Truncate berfungsi untuk menghapus data pada tabel tanpa merusak struktur tabel itu sendiri dimana ketika query ini di eksekusi, primary key (Auto-increment) juga akan di inisialisasi. Perintah Truncate kurang lebih sama dengan perintah DELETE pada perintah DML.

TRUNCATE TABLE nama_tabel;

Contoh:

TRUNCATE TABLE MHS;

Dari query di atas seluruh record yang ada pada tabel MHS akan di hapus.

Query “DROP” DDL menghapus tabel dan database:

Query Drop di gunakan untuk menghapus tabel dan database. Berbeda dengan query Truncate, query Drop akan merusak struktur tabel dan data yang di simpan di dalamnya.

DROP TABLE nama_tabel;

Contoh:

DROP TABLE MHS;

Untuk query drop database perintahnya dapat di lihat pada gambar di bawah ini:

DROP DATABASE nama_database;

Contoh:

DROP DATABASE Presensi;

Query “RENAME” DDL memberi nama pada tabel:

Query Rename di gunakan untuk memberikan nama baru pada tabel yang sudah ada.

RENAME TABLE nama_tabel_lama TO nama_tabel_baru;

Contoh:

RENAME TABLE MHS TO Mahasiswa ;

Query di atas akan mengganti nama tabel yang sebelumnya “MHS” menjadi “Mahasiswa”.


DML: Data Manipulation Language

DML merupakan query SQL yang berfungsi untuk memanipulasi data yang di simpan pada tabel setelah query DDL di buat. DML tidak bersifat Auto-Committed artinya perubahan yang di lakukan pada database tidak bersifat permanen sehingga query yang di lakukan dapat di batalkan.

Di bawah ini beberapa query DML:

Query DML

Deskripsi

Insert

Untuk menambahkan baris baru

Update

Untuk memperbaharui baris yang ada

Delete

Untuk menghapus baris

Merge

Untuk menggabungkan dua baris atau dua tabel

Penerapan Query DML:

Query “INSERT” DML:

Query Insert di gunakan untuk memasukkan data pada tabel.

INSERT INTO nama_tabel VALUES (data1,data2,data3,...data-n);

Contoh:

INSERT INTO Mahasiswa VALUES (‘165610062’,’Angel’,’Yogyakarta’,’SI’);

Query di atas akan memasukkan data pada tabel “Mahasiswa”. Jika tipe data berupa integer maka data yang ada pada VALUES tidak di berikan tanda petik . Untuk lebih jelasnya bisa di lihat pada tabel di bawah ini:

nim_mhs

nama_mhs

alamat_mhs

jurusan_mhs

165610062

Angel

Yogyakarta

SI

Query “UPDATE” DML:

Query Update di gunakan untuk memperbaharui isi data pada tabel.

UPDATE nama_tabel SET nama_kolom1 = data_baru1, nama_kolom2 = data_baru2 WHERE kondisi;

Contoh:

UPDATE Mahasiswa SET alamat_mhs = Jakarta WHERE nim_mhs = ‘165610062’;

Klausa WHERE di gunakan untuk memperbaharui data tertentu. Seperti contoh di atas kita hanya akan memperbaharui data alamat_mhs pada tabel Mahasiswa dimana nim_mhs = ‘165610062’. Jika klausa WHERE ini tidak di gunakan maka perintah UPDATE akan memperbaharui semua isi data pada kolom alamat_mhs.

nim_mhs

nama_mhs

alamat_mhs

jurusan_mhs

165610062

Angel

Jakarta

SI

Query “DELETE” DML:

Query DELETE di gunakan untuk menghapus data pada tabel.

DELETE FROM nama_tabel;

Contoh:

DELETE FROM Mahasiswa;

Query di atas akan menghapus seluruh data pada tabel mahasiswa. Kita juga bisa menambahkan klausa WHERE pada perintah DELETE.


Perbedaan QUERY TRUNCATE dan DELETE

Walaupun sama-sama menghapus data pada tabel, perintah TRUNCATE berbeda dengan perintah DELETE. Jika perintah DELETE menghapus semua record pada tabel, perintah TRUNCATE tidak hanya menghapus record saja namun melakukan inisialisasi ulang tabel.

Contoh:

Kita memiliki tabel dengan jumlah baris sebanyak 6 disertai dengan Primary key Auto-increment. Jika kita menggunakan perintah DELETE, maka semua baris akan terhapus dan ketika kita memasukkan data baru maka Primary key Auto-increment akan dimulai dari 7. Berbeda dengan perintah TRUNCATE, semua baris akan terhapus dan ketika memasukkan data baru maka Primary key Auto-increment akan di mulai dari 1 sama seperti saat membuat tabel baru. 


TCL: Transaction Control Language

TCL merupakan query SQL yang berfungsi untuk terus memeriksa perintah dan pengaruh lain terhadap database. Query pada TCL dapat membatalkan perubahan yang dibuat oleh perintah lain dengan mengembalikan data ke dalam keadaan semula. Hal ini dapat membuat perubahan sementara menjadi permanen.

Di bawah ini beberapa query TCL:

Query TCL

Deskripsi

Commit

Untuk menyimpan secara permanen

Rollback

Untuk membatalkan perubahan

Savepoint

untuk menyimpan sementara

Penerapan Query TCL:

Query “COMMIT, ROLLBACK, SAVEPOINT” TCL:

Ketika kita menggunakan perintah INSERT, UPDATE, DELETE pada perintah DCL, perubahan yang di lakukan tidak permanen artinya perintah-perintah tersebut dapat di batalkan. Agar perintah-perintah tersebut permanen kita bisa menggunakan query COMMIT.

Untuk query ROLLBACK sendiri di gunakan untuk mengembalikan keadaan database ke keadaan terkahir yang di lakukan. Jika kita telah menggunakan perintah UPDATE untuk membuat beberapa perubahan ke dalam database tetapi perubahan tersebut tidak diperlukan, maka kita dapat menggunakan perintah ROLLBACK untuk mengembalikan perubahan tersebut, jika perubahan tersebut tidak dilakukan menggunakan perintah COMMIT.

Sedangkan untuk perintah SAVEPOINT digunakan untuk menyimpan sementara transaksi sehingga kita dapat melakukan rollback ke titik tersebut kapan pun diperlukan.

Menggunakan perintah ROLLBACK dan SAVEPOINT pada tabel jurusan.

id_jurusan

nama_jurusan

SI

Sistem Informasi

TI

Teknik Informatika

Dari tabel di atas kita akan mencoba menerapkan perintah ROLLBACK dan SAVEPOINT.

INSERT INTO jurusan VALUES('MI','MI');

COMMIT;

UPDATE jurusan SET nama_jurusan = ' Manajemen Informatika ' WHERE id_jurusan = 'MI';

SAVEPOINT A;

INSERT INTO jurusan VALUES('KA', 'Komputerisasi Akuntansi');

SAVEPOINT B;

SELECT * FROM jurusan;

 

Tabel jurusan setelah melakukan query di atas:

id_jurusan

nama_jurusan

SI

Sistem Informasi

TI

Teknik Informatika

MI

Manajemen Informatika

KA

Komputerisasi Akuntansi

Selanjutnya kita gunakan perintah ROLLBACK untuk mengembalikan perubahan data pada savepoint B.

ROLLBACK TO B;

SELECT * FROM jurusan;

Setelah dilakukan perintah ROLLLBACK, maka tabel jurusan yang semula berisi 4 record menjadi 3 record seperti di bawah ini:

id_jurusan

nama_jurusan

SI

Sistem Informasi

TI

Teknik Informatika

MI

Manajemen Informatika


DCL: Data Control Language

DCL merupakan query yang berfungsi untuk memberikan dan mengambil kembali otoritas dari setiap pengguna database, auditan penggunaan database, alokasi space, dan definisi space.

Di bawah ini beberapa query DCL:

Query DCL

Deskripsi

Grant

Untuk memberikan hak izin akses user untuk mengkases tabel dalam database

Revoke

Untuk membatalkan hak izin akses user

Hak akses (Privileges) terdiri dari 2 tipe:

1.   Tipe system : tipe ini merupakan hak akses yang di gunakan untuk membuat sesi, tabel dan hak akses system lainnya.

2.   Tipe object : tipe ini merupakan hak akses yang berisi perintah yang di gunakan untuk melakukan operasi pada tabel di database.


QL: Data Query Language

DQL merupakan query yang berfungsi untuk mengambil data dari tabel berdasarkan kondisi yang user terapkan.

Di bawah ini beberapa query DQL:

Query DQL

Deskripsi

Select

Untuk mengambil informasi dari satu atau lebih tabel

 Query SELECT:

Query SELECT digunakan untuk mengambil data pada tabel baik sebagian atau seluruhnya dengan menambahkan kondisi berupa klausa WHERE.

Lihat tabel mahasiswa di bawah ini:

nim_mhs

nama_mhs

alamat_mhs

jurusan_mhs

165610062

Indah

Kalimantan

Sistem Informasi

155610058

Roni

Lombok

Sistem Informasi

155410058

Cantika

Yogyakarta

Teknik Informatika

155410028

Budi

Yogyakarta

Teknik Informatika

1.   Query SELECT menampilkan isi kolom tertentu pada tabel

SELECT nim_mhs, nama_mhs FROM mahasiswa;

Query di atas akan mengambil dan menampilkan isi kolom nim_mhs dan nama_mhs pada tabel mahasiswa.

nim_mhs

nama_mhs

165610062

Indah

155610058

Roni

155410058

Cantika

155410028

Budi

2.   Query SELECT menampilkan seluruh isi kolom pada tabel

SELECT * FROM mahasiswa;

Query SELECT dengan menggunakan karakter *  di atas akan mengambil dan menampilkan seluruh isi kolom pada tabel mahasiswa.

nim_mhs

nama_mhs

alamat_mhs

jurusan_mhs

165610062

Indah

Kalimantan

Sistem Informasi

155610058

Roni

Lombok

Sistem Informasi

155410058

Cantika

Yogyakarta

Teknik Informatika

155410028

Budi

Yogyakarta

Teknik Informatika


3.   Query SELECT menampilkan isi kolom berdasarkan kondisi

Untuk mengatur kondisi pada query SELECT, kita bisa menggunakan klausa WHERE seperti di bawah ini:

SELECT * FROM mahasiswa WHERE nim_mhs = ‘165610062’;

Query  di atas akan menampilkan seluruh isi kolom pada tabel mahasiswa dimana data mahasiswa yang akan ditampilkan adalah mahasiswa dengan nim_mhs =”165610062”.

nim_mhs

nama_mhs

alamat_mhs

jurusan_mhs

165610062

Indah

Kalimantan

Sistem Informasi

Menampilkan kolom tertentu menggunakan klausa WHERE:

SELECT nim_mhs, nama_mhs FROM mahasiswa WHERE nim_mhs = ‘165610062’;

Query di atas akan menampilkan isi kolom (nim_mhs dan nama_mhs) pada tabel mahasiswa dimana data mahasiswa yang akan ditampilkan adalah mahasiswa dengan nim_mhs = '165610062'.

nim_mhs

nama_mhs

165610062

Indah


Posting Komentar

0 Komentar