SQL

Posted: November 8, 2010 in Pertemuan ke-5, SQL

SQL (Structured Query Language) adalah salah satu bahasa DBMS yang meng-adopsi model data relasional. SQL muncul dalam berbagai variasi seperti Microsoft SQL, MySQL, dan versi SQL lainnya. Pengetahuan dasar tentang SQL diperlukan karena bahasa ini menjadi salah satu bahasa populer dalam akses data di dunia Internet. SQL telah distandarisasi oleh ISO (International Standards Organization) dan ANSI (American National Standard Institute) sejak tahun 1986 (SQL86) dan diperbaharui ketika diperlukan adanya modifikasi baru (misalnya pada SQL99). Sesungguhnya SQL tidak terbatas pada penyajian data (query) tetapi juga mencakup pembuatan tabel data baru (Create Table), menghapus tabel data (Drop Table), menambahkan data kedalam tabel (Insert), menghapus data dari tabel (Delete/Drop record). Beberapa perintah dasar SQL diperlihatkan pada tabel berikut ini.

Perintah Manfaat
SELECT membaca data dari database
INSERT menambahkan data kedalam database
UPDATE meremajakan / mengganti data
DELETE menghapus rekord data
CREATE TABLE membuat tabel data baru
DROP TABLE menghapus tabel data
ALTER TABLE merubah struktur tabel/file
GRANT memberi hak akses pada user
REVOKE membatalkan hak akses dari user

Perintah SELECT Perintah SELECT digunakan untuk membaca data dari database, perintah ini mempunyai bentuk umum sebagai berikut:

SELECT field-1 [, field-2, field-3, …] FROM tabel-1 [, tabel-2, tabel-3, …] WHERE syarat/predikat [ORDER BY] field

Berikut ini diberikan sebuah contoh pemakaian perintah SELECT untuk membaca data matakuliah yang diajarkan oleh dosen tertentu.

SELECT k.kodeMK, k..namaMK, d.namaDosen FROM kuliah k, dosen d WHERE k.kodeDos = d.kodeDOS ORDER BY k.kodeMK

Perintah diatas membaca data dari dua file data, yaitu file matakuliah (kuliah yang disingkat dengan huruf k) dan file dosen (yang disingkat dengan huruf d) dengan menampilkan daftar yang terdiri atas kolom-kolom kodeMK, namaMK, namaDosen terurut menurut kodeMK. Perintah INSERT Perintah INSERT digunakan untuk menyisipkan atau menambah satu rekord data kedalam satu tabel/file data. Bentuknya sebagai berikut:

INSERT INTO tabel-1 [ (field-1, field-2, …] VALUES (v1, v2, …)

Berikut ini adalah contoh instruksi untuk menyisipkan sebuah rekord data mahasiswa kedalam tabel mahasiswa.

INSERT INTO mahasiswa (NoMhs, NamaMhs, Jkel, Alamat)
VALUES
(‘02010345’, ‘Abdurahman Wahid’, P, ‘Jl.Disket No.45 Makassar’)

Perintah UPDATE Perintah UPDATE digunakan untuk merubah isi rekord data dari suatu tabel/file database. Bentuknya sebagai berikut:

UPDATE tabel SET perubahan [ WHERE syarat/predikat ]

Apabila hanya data tertentu saja yang akan diubah/diremajakan maka klaus WHERE perlu ditulis, tanpa WHERE maka perubahan berlaku untuk semua rekord dalam tabel tersebut. Contoh:

UPDATE kuliah SET sks=2 WHERE kodeMK = ‘3SI423’

Perintah ini merubah sks matakuliah berkode 3SI423 menjadi 2 pada file kuliah.

UPDATE dosen SET namaDos = ‘Prof. ‘ + namaDos WHERE kodeDOS = ‘132234122’

Perintah ini menambahkan gelar Prof pada seorang dosen dengan kode 132234122. Perintah DELETE Perintah DELETE digunakan untuk menghapus satu rekord dari satu file/tabel database. Bentuknya sebagai berikut:

DELETE FROM tabel [WHERE syarat/predikat]

Klaus WHERE digunakan apabila hanya rekord tertentu yang akan dihapus, apabila klaus WHERE tidak ditulis maka semua rekord akan terhapus (hati-hati memakainya). Contoh:

DELETE FROM kuliah WHERE kodeMK = ‘2TI123’

Perintah ini menghapus rekord matakuliah berkode 2TI123. Perintah CREATE TABLE Perintah CREATE TABLE digunakan untuk menciptakan tabel baru (DDL) dilengkapi dengan definisi struktur datanya. Bentuk umumnya sbb: CREATE TABLE tabel (field-1 tipe-1, field-2 tipe-2, …) Sebagai contoh andaikan akan dibuat tabel mahasiswa dengan struktur sebagai berikut:

KodeMHS char, dengan 9 digit
NamaMHS char, sepanjang 25 karakter
Jkel char, kode 1 huruf
Alamat char, sepanjang 30 karakter
TgLahir date

maka perintahnya adalah sbb:

CREATE TABLE mahasiswa (KodeMHS char(9), NamaMHS char(25),Jkel char(1), Alamat char(30), Tglahir date) Primary key KodeMHS.

Perintah DROP TABLE Perintah ini digunakan untuk menghapus file/tabel dari database, harus digunakan secara hati-hati, walaupun DBMS biasanya memiliki proteksi tertentu sehingga penghapusan data bisa dibatalkan bila diperlukan. Bentuknya sbb:

DROP TABLE tabel

Sebagai contoh file mahasiswa dapat dihapus dengan perintah:

DROP TABLE mahasiswa.

Perintah ALTER TABLE Perintah ini digunakan untuk mengubah struktur file data, baik dengan menambah field data maupun menghapus field data tertentu. Bentuknya sbb:

ALTER TABLE tabel ADD field-1, tipe-1 [field-2 tipe-2, … ]

untuk menambahkan field baru kedalam tabel data.

ALTER TABLE tabel DROP field

untuk menghapus field tertentu. Contoh pemakaian: a. menambahkan field agama dan status pada file mahasiswa

ALTER TABLE mahasiswa ADD agama int, status char(1)

b. menghapus field gelar dari file dosen

ALTER TABLE dosen DROP gelar.

Perintah GRANT Perintah GRANT digunakan untuk memberi hak akses tertentu pada user, bentuk umumnya adalah sbb:

GRANT akses-1 [ ,akses-2, …] ON tabel TO user-1 [, user-2, …]

Contoh pemakaian sebagai berikut:

GRANT INSERT, DELETE, UPDATE ON kuliah TO Judy, John

Pengguna dengan login-name Judy dan John memperoleh hak untuk melakukan operasi INSERT, DELETE, dan UPDATE pada file/tabel kuliah. Perintah REVOKE Perintah REVOKE digunakan untuk membatalkan hak akses dari user, bentuk umumnya sebagai berikut:

REVOKE akses-1 [, akses-2, …] ON tabel FROM user-1 [, user-2, …]

Contoh pemakaian sebagai berikut:

REVOKE INSERT, DELETE ON kuliah FROM John

Perintah ini membatalkan hak dari John untuk melakukan INSERT dan DELETE pada file kuliah.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s