SQL atau Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970.
Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk
mengakses data dalam basis data tersebut. Bahasa tersebut kemudian
diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM
mengadakan proyek pembuatan basis data relasional berbasis bahasa
SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL,
IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data
populer yang bernama sama dengan nama perusahaannya. Dengan naiknya
kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini
menjadi standar de facto bahasa dalam manajemen basis data.
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung
SQL92. Hal ini disebabkan masing-masing server memiliki dialek
masing-masing.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah
CREATE
untuk membuat objek baru, USE
untuk menggunakan objek, ALTER
untuk mengubah objek yang sudah ada, dan DROP
untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
SELECT
untuk menampilkan dataINSERT
untuk menambahkan data baruUPDATE
untuk mengubah data yang sudah adaDELETE
untuk menghapus data