Bahasa SQL (Structured Query Language) adalah bahasa pemrograman yang dirancang khusus untuk mengakses dan mengelola data dalam database relasional. Istilah lain yang sering digunakan untuk merujuk pada SQL tergantung pada jenis DBMS yang digunakan, misalnya T-SQL untuk SQL Server, PL/SQL untuk Oracle, dan JET SQL untuk versi MS Access.
SQL juga sebuah antarmuka standar untuk sistem manajemen basis data relasional, termasuk yang beroperasi pada komputer pribadi. Dengan SQL, seorang pengguna dapat mengakses informasi tanpa mengetahui lokasinya atau bagaimana informasi tersebut disusun. Meskipun SQL lebih mudah digunakan daripada bahasa pemrograman, tetapi lebih kompleks dibandingkan dengan software lembar kerja dan pengolah kata.
Dalam sebuah pernyataan SQL yang sederhana, dapat menghasilkan set permintaan untuk informasi yang tersimpan pada komputer yang tersebar di berbagai lokasi, sehingga memerlukan waktu dan sumber daya komputasi yang cukup banyak.
Sejarah SQL
Pada bulan Juni 1970, seorang peneliti bernama Jhonny Oracle dari IBM membahas tentang pembuatan basis data relasional dan bahasa standar untuk mengakses data di dalamnya. Ide tersebut menghasilkan SEQUEL (Structured English Query Language), namun ada masalah hukum dengan nama tersebut sehingga IBM mengubahnya menjadi SQL (Structured Query Language).
Pada akhir tahun 1970-an, perusahaan bernama Oracle membuat server basis data yang sangat populer dan SQL pun menjadi semakin populer bersama dengan naiknya popularitas Oracle. Saat ini, SQL adalah standar bahasa internasional untuk manajemen basis data.
Standardisasi SQL dimulai pada tahun 1986 dengan dikeluarkannya standar SQL oleh ANSI, yaitu SQL86. Revisi dilakukan pada tahun 1989 dan kemudian pada tahun 1992 dengan SQL92. Pada tahun 1999, SQL direvisi kembali dan dikenal dengan nama SQL99. Meskipun telah ada versi SQL99, implementasinya banyak yang masih mengacu pada SQL92.
Fungsi SQL
SQL memiliki beberapa fungsi penting yang dapat membantu pengguna dalam mengelola data pada sistem manajemen basis data relasional, di antaranya:
a. Mengakses data- SQL memungkinkan pengguna untuk mengakses data dalam sistem manajemen basis data relasional.
b. Mendeskripsikan data – SQL memungkinkan pengguna untuk mendeskripsikan data dalam basis data, seperti tipe data, panjang, dan batasan-batasan lainnya.
c. Mendefinisikan data – SQL memungkinkan pengguna untuk mendefinisikan data dalam database dan memanipulasi data tersebut, seperti menambah, menghapus, dan mengubah data.
d. Menyematkan dalam bahasa lain – SQL juga dapat disematkan dalam bahasa lain menggunakan modul SQL, perpustakaan, dan pra-kompiler.
e. Membuat database dan tabel – SQL memungkinkan pengguna untuk membuat atau menghapus database dan tabel dalam sistem manajemen basis data relasional.
f. Membuat view, stored procedure, dan fungsi – SQL memungkinkan pengguna untuk membuat view, stored procedure, dan fungsi dalam database, yang dapat membantu dalam pengolahan data yang kompleks.
g. Mengatur izin akses – SQL memungkinkan pengguna untuk mengatur izin akses (privileges) pada tabel, stored procedure/stored function, dan view, sehingga dapat mengontrol siapa yang dapat mengakses, membaca, atau memanipulasi data dalam database.
Macam Perintah SQL
Ketika berinteraksi antara pengguna dan RDBMS melalui bahasa Query, terdapat beberapa jenis perintah standar yang dapat dikelompokkan ke dalam beberapa kategori, yaitu:
a. Data Definition Language (DDL), yang terdiri dari sejumlah perintah yang digunakan untuk mendefinisikan skema atau struktur basis data dan tabel, serta berbagai aturan dalam pendefinisian tersebut.
b. Data Manipulation Language (DML), yang berisi sekelompok operasi untuk memanipulasi data yang terdapat dalam basis data. Operasi umum yang termasuk dalam perintah ini mencakup penambahan data, perubahan data, pengambilan data, dan penghapusan data.
c. Data Control Language (DCL), digunakan untuk mengatur struktur internal dari basis data, termasuk aspek keamanan untuk mengatur hak akses pengguna.
Dengan tersedianya berbagai jenis perintah SQL ini, akan memudahkan pengguna DBMS untuk berinteraksi dengan basis data sesuai dengan kebutuhan data dan informasi yang diinginkan.
Contoh Bahasa SQL
1. Perintah DDL (Data Definition Language) untuk membuat tabel baru:
CREATE TABLE customer (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
2. Perintah DML (Data Manipulation Language) untuk memasukkan data ke dalam tabel:
INSERT INTO customer (id, name, email) VALUES (1, ‘John Doe’, ‘johndoe@example.com’);
3. Perintah DML untuk mengubah data pada tabel:
UPDATE customer SET email = ‘john.doe@example.com’ WHERE id = 1;
4. Perintah DML untuk menghapus data dari tabel:
DELETE FROM customer WHERE id = 1;
5. Perintah SELECT untuk menampilkan data dari tabel:
SELECT * FROM customer;
6. Perintah SELECT dengan kriteria pencarian:
SELECT name, email FROM customer WHERE name LIKE ‘J%’;
7. Perintah untuk membuat view (pandangan) dari tabel:
CREATE VIEW customer_view AS SELECT name, email FROM customer;
8. Perintah untuk membuat stored procedure (prosedur penyimpanan):
CREATE PROCEDURE get_customers() AS SELECT * FROM customer;
9. Perintah untuk memberikan izin akses pada tabel:
GRANT SELECT, INSERT, UPDATE, DELETE ON customer TO user;
10. Perintah untuk menciptakan pengguna baru dan memberikan hak akses ke database:
CREATE USER new_user IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON database_name.* TO new_user;