Setiap aplikasi yang Anda pakai sehari-hari menyimpan data dalam jumlah besar. Aplikasi belanja menyimpan daftar produk dan riwayat pesanan, media sosial menyimpan jutaan unggahan, dan toko online menyimpan data pelanggan beserta transaksinya. Semua data itu tidak disimpan begitu saja dalam satu file panjang. Data tersebut ditata rapi di dalam database (basis data), yaitu tempat penyimpanan data yang terstruktur agar mudah dicari kembali.
Persoalannya, bagaimana cara berbicara dengan database tersebut? Bagaimana kita meminta "tampilkan semua pelanggan dari Jakarta" atau "tambahkan pesanan baru"? Di sinilah SQL berperan. SQL adalah bahasa standar yang digunakan untuk mengelola dan berkomunikasi dengan database relasional. Pada artikel ini, kita akan membahas pengertian SQL dari nol, cara kerjanya, fungsi utamanya, hingga perintah-perintah dasar yang perlu Anda kenal sebagai pemula.
Apa Itu SQL?
SQL adalah singkatan dari Structured Query Language, yang kalau diterjemahkan berarti "bahasa kueri terstruktur". Kata kunci di sini adalah query (kueri), yaitu permintaan atau pertanyaan yang Anda ajukan ke database. Setiap kali Anda menulis SQL, pada dasarnya Anda sedang mengajukan permintaan kepada database, misalnya meminta data tertentu, menambahkan data baru, atau mengubah data yang sudah ada.
Satu hal yang sering membingungkan pemula: SQL bukan bahasa pemrograman umum seperti Python, PHP, atau Java. SQL adalah bahasa khusus yang dirancang untuk satu tujuan, yaitu mengelola data di dalam database relasional. Anda tidak bisa membuat aplikasi mobile atau website utuh hanya dengan SQL. Sebaliknya, SQL bekerja berdampingan dengan bahasa pemrograman lain untuk mengurus bagian penyimpanan datanya.
Karena SQL sudah menjadi standar internasional, satu kemampuan SQL bisa Anda pakai di banyak sistem database sekaligus. Inilah yang membuat SQL menjadi salah satu keterampilan paling bertahan lama di dunia teknologi. Cara Anda meminta data tahun ini secara prinsip masih sama dengan cara yang dipakai puluhan tahun lalu.
Sejarah Singkat SQL
Memahami asal-usul SQL membantu menjelaskan kenapa bahasa ini begitu mapan. Fondasinya dimulai pada tahun 1970, ketika seorang peneliti IBM bernama Edgar F. Codd memperkenalkan konsep relational model (model relasional), yaitu gagasan menyimpan data dalam bentuk tabel yang saling berhubungan.
Berdasarkan gagasan tersebut, dua peneliti IBM lainnya, Donald D. Chamberlin dan Raymond F. Boyce, menciptakan sebuah bahasa untuk mengakses data relasional pada tahun 1974. Bahasa itu awalnya bernama SEQUEL. Nama tersebut belakangan dipersingkat menjadi SQL karena "SEQUEL" sudah menjadi merek dagang perusahaan lain. Itu sebabnya hingga hari ini SQL masih sering dieja "sequel" oleh sebagian praktisi.
SQL kemudian diadopsi sebagai standar resmi oleh ANSI (American National Standards Institute) pada tahun 1986 dan ISO (International Organization for Standardization) pada tahun 1987. Sejak itu standarnya terus diperbarui, tetapi perintah-perintah dasarnya tetap konsisten selama puluhan tahun.
Bagaimana Cara Kerja SQL?
Untuk memahami cara kerja SQL, Anda perlu lebih dulu memahami bentuk data yang dikelolanya. Database relasional menyimpan data dalam bentuk tabel, persis seperti tabel pada aplikasi spreadsheet. Setiap tabel terdiri atas baris dan kolom. Satu baris (record) mewakili satu entitas, misalnya satu pelanggan. Sementara kolom (field) mewakili atribut dari entitas itu, misalnya nama, kota, dan email.
Bayangkan sebuah tabel bernama pelanggan seperti berikut:
| id | nama | kota | |
|---|---|---|---|
| 1 | Andi | Jakarta | andi@mail.com |
| 2 | Siti | Bandung | siti@mail.com |
| 3 | Budi | Jakarta | budi@mail.com |
Ketika Anda ingin menampilkan semua pelanggan dari Jakarta, Anda cukup menulis permintaan seperti ini:
SELECT nama, email FROM pelanggan WHERE kota = 'Jakarta';Perhatikan satu hal penting dari perintah di atas. Anda hanya menyebutkan apa yang Anda inginkan, yaitu nama dan email pelanggan dari Jakarta. Anda tidak perlu menjelaskan bagaimana mesin harus mencari datanya, baris mana yang harus diperiksa lebih dulu, atau bagaimana cara menyaringnya. Inilah yang disebut bahasa deklaratif: Anda menyatakan tujuan akhir, lalu sistem database yang menentukan langkah teknis untuk mencapainya.
Sifat deklaratif inilah yang membuat SQL relatif mudah dipelajari dibanding bahasa pemrograman pada umumnya. Anda berpikir dalam kerangka "data apa yang saya butuhkan", bukan "algoritma apa yang harus saya susun". Di balik layar, ada komponen bernama query optimizer yang bertugas mencari cara paling efisien untuk memenuhi permintaan Anda, tanpa perlu Anda urus sendiri.
Diagram alur kerja query SQL dari pengguna ke database dan hasil tabel.
Fungsi SQL
Secara garis besar, fungsi SQL berputar pada empat pekerjaan utama terhadap data. Memahami keempatnya membantu Anda melihat gambaran besar sebelum masuk ke perintah spesifik.
- Mengambil dan mencari data: Inilah fungsi yang paling sering dipakai. SQL memungkinkan Anda mengambil data tertentu dari tabel dengan kondisi yang spesifik, misalnya pelanggan dari kota tertentu atau pesanan di atas nilai tertentu.
- Menambah dan mengubah data: SQL dipakai untuk memasukkan data baru, memperbarui data yang sudah ada, serta menghapus data yang tidak lagi diperlukan.
- Mengatur struktur database: Selain mengelola isi, SQL juga dipakai untuk membuat tabel baru, mengubah susunan kolom, atau menghapus tabel yang tidak terpakai.
- Mengatur hak akses: SQL memungkinkan administrator menentukan siapa yang boleh membaca atau mengubah data tertentu, sehingga keamanan data tetap terjaga.
Keempat fungsi ini bisa Anda pakai pada skala kecil maupun besar, mulai dari database sederhana berisi ratusan baris hingga sistem yang menampung jutaan transaksi.
Mengenal Perintah Dasar SQL
Perintah SQL dikelompokkan menjadi lima kategori berdasarkan jenis pekerjaannya. Pengelompokan ini membantu Anda memahami fungsi tiap perintah, bukan sekadar menghafalnya. Agar mudah diikuti, kita akan tetap memakai contoh tabel pelanggan dari pembahasan sebelumnya.
DDL (Data Definition Language)
DDL berkaitan dengan struktur atau kerangka database, bukan isinya. Perintah dalam kelompok ini dipakai untuk membuat, mengubah, dan menghapus objek seperti tabel. Contohnya CREATE, ALTER, dan DROP. Untuk membuat tabel pelanggan, Anda menggunakan perintah CREATE:
CREATE TABLE pelanggan (
id INT PRIMARY KEY,
nama VARCHAR(100),
kota VARCHAR(50),
email VARCHAR(100)
);Perintah di atas mendefinisikan tabel beserta nama kolom dan tipe datanya. Setelah dijalankan, tabel kosong siap diisi.
DML (Data Manipulation Language)
Setelah tabel terbentuk, DML dipakai untuk mengelola isinya. Perintah utamanya adalah INSERT untuk menambah data, UPDATE untuk mengubah, dan DELETE untuk menghapus. Untuk menambahkan satu pelanggan baru:
INSERT INTO pelanggan (id, nama, kota, email)
VALUES (4, 'Rina', 'Surabaya', 'rina@mail.com');Jika suatu saat Rina pindah kota, Anda cukup memperbarui datanya tanpa membuat baris baru:
UPDATE pelanggan SET kota = 'Semarang' WHERE id = 4;DQL (Data Query Language)
DQL hanya berisi satu perintah, yaitu SELECT, tetapi inilah perintah yang paling sering Anda gunakan. Fungsinya khusus untuk mengambil dan menampilkan data. Kata-kata seperti WHERE, ORDER BY, atau LIMIT sebenarnya bukan perintah terpisah, melainkan klausa pendukung SELECT. Untuk menampilkan seluruh pelanggan, diurutkan berdasarkan nama:
SELECT * FROM pelanggan ORDER BY nama ASC;Tanda bintang (*) berarti "ambil semua kolom". Sebagian praktisi menggabungkan DQL ke dalam DML, tetapi memisahkannya membantu pemula memahami perbedaan antara mengambil data dan mengubah data.
DCL (Data Control Language)
DCL mengurus hak akses, yaitu menentukan siapa yang boleh melakukan apa terhadap database. Dua perintahnya adalah GRANT untuk memberi izin dan REVOKE untuk mencabutnya. Misalnya, memberi seorang pengguna izin membaca tabel pelanggan:
GRANT SELECT ON pelanggan TO 'staf_marketing';Kelompok perintah ini biasanya menjadi tanggung jawab administrator database, bukan pengguna sehari-hari.
TCL (Transaction Control Language)
TCL mengatur transaction (transaksi), yaitu sekumpulan perintah yang harus diperlakukan sebagai satu kesatuan utuh. Perintahnya antara lain COMMIT untuk menyimpan perubahan secara permanen dan ROLLBACK untuk membatalkannya. Konsep ini penting pada kasus seperti transfer saldo, di mana semua langkah harus berhasil bersamaan atau dibatalkan seluruhnya jika ada satu yang gagal.
Diagram lima jenis perintah SQL: DDL, DML, DQL, DCL, dan TCL.
SQL vs MySQL: Jangan Sampai Tertukar
Salah satu kebingungan paling umum di kalangan pemula adalah menyamakan SQL dengan MySQL. Keduanya berbeda, dan membedakannya akan menyelamatkan Anda dari banyak kesalahpahaman.
SQL adalah bahasanya, yaitu aturan dan sintaks untuk berkomunikasi dengan database. Sementara MySQL adalah software atau perangkat lunak database yang menggunakan bahasa SQL untuk dioperasikan. Perangkat lunak semacam ini disebut DBMS (Database Management System). Selain MySQL, ada banyak DBMS lain yang juga memakai SQL, seperti PostgreSQL, Microsoft SQL Server, Oracle, dan SQLite. Untuk pembahasan lebih dalam soal salah satu DBMS paling populer ini, Anda bisa membaca artikel kami tentang MySQL dan cara kerjanya.
Analoginya sederhana. SQL ibarat bahasa Indonesia, sedangkan MySQL, PostgreSQL, dan Oracle ibarat orang-orang yang berbicara dengan bahasa tersebut. Setiap DBMS umumnya memang punya logat atau dialek sendiri, misalnya T-SQL pada SQL Server dan PL/SQL pada Oracle. Namun perintah inti seperti SELECT, INSERT, dan UPDATE tetap sama di semua sistem.
Perlu disinggung juga istilah NoSQL yang kadang muncul. NoSQL adalah jenis database yang justru tidak menggunakan model tabel relasional, melainkan format yang lebih fleksibel seperti dokumen. NoSQL bukan pengganti SQL, melainkan pendekatan berbeda untuk kebutuhan data yang berbeda.
Kelebihan dan Hal yang Perlu Dipertimbangkan
Seperti teknologi lain, SQL memiliki kekuatan sekaligus keterbatasan. Memahami keduanya membantu Anda menilai kapan SQL menjadi pilihan tepat.
Dari sisi kelebihan, SQL bersifat standar dan portabel, sehingga keterampilan yang Anda pelajari bisa dibawa lintas DBMS. Sintaksnya yang deklaratif relatif mudah dibaca, bahkan menyerupai kalimat bahasa Inggris biasa. SQL juga sudah sangat matang dan teruji selama puluhan tahun, dengan dokumentasi serta komunitas yang melimpah.
Di sisi lain, ada beberapa hal yang perlu Anda pertimbangkan:
- Kurang fleksibel untuk data tidak terstruktur: SQL dirancang untuk data berbentuk tabel. Untuk data yang bentuknya berubah-ubah dan tidak rapi, pendekatan NoSQL kadang lebih cocok.
- Struktur harus dirancang lebih dulu: Sebelum memasukkan data, Anda perlu mendefinisikan schema (skema) berupa tabel dan kolomnya. Ini menjaga kerapian data, tetapi mengurangi keluwesan saat kebutuhan sering berubah.
- Ada perbedaan dialek antar-DBMS: Meski intinya sama, fitur lanjutan tiap DBMS bisa berbeda. Kode yang berjalan mulus di MySQL belum tentu langsung berjalan di Oracle tanpa penyesuaian.
Siapa yang Perlu Belajar SQL?
SQL bukan keterampilan eksklusif untuk programmer. Profesi seperti data analyst dan data scientist memakai SQL setiap hari untuk menggali data. Backend developer membutuhkannya untuk menghubungkan aplikasi dengan database, sementara database administrator (DBA) mengandalkannya untuk merawat sistem database. Bahkan praktisi pemasaran digital pun semakin terbantu jika mampu menarik data sendiri tanpa bergantung pada tim teknis.
Menariknya, kalau Anda mengelola website, kemungkinan besar Anda sudah memakai SQL tanpa menyadarinya. Platform seperti WordPress yang dibangun dengan bahasa PHP menyimpan seluruh kontennya di database MySQL, yang berarti setiap halaman yang dimuat melibatkan perintah SQL di belakang layar. Database semacam ini umumnya sudah tersedia langsung di layanan web hosting melalui panel seperti cPanel, sehingga Anda bisa mulai berlatih membuat dan mengelola database tanpa perlu memasang apa pun di komputer. Jika ingin langsung mencobanya, Anda bisa mengikuti panduan cara membuat database MySQL di cPanel.
Untuk memulai, Anda tidak perlu menguasai kelima kategori perintah sekaligus. Mulailah dari SELECT untuk mengambil data, lalu lanjut ke INSERT, UPDATE, dan DELETE. Begitu Anda terbiasa dengan empat perintah ini, sebagian besar kebutuhan dasar sudah bisa Anda tangani.
Kesimpulan
SQL adalah bahasa standar untuk mengelola database relasional, bersifat deklaratif sehingga Anda cukup menyatakan data yang diinginkan tanpa mengurus detail teknisnya. Perintahnya terbagi menjadi lima kelompok, yaitu DDL, DML, DQL, DCL, dan TCL, dengan SELECT, INSERT, UPDATE, dan DELETE sebagai bekal awal yang paling penting. Selama data masih disimpan dalam bentuk tabel yang saling berhubungan, SQL akan tetap relevan sebagai keterampilan yang patut Anda kuasai.
Semoga artikel ini membantu Anda memahami SQL dari dasar dan mendorong Anda untuk mulai berlatih langsung.




