Menjelajahi SQL
Petunjuk / Saran
Lihat tab Teks dan gambar untuk detail selengkapnya!
SQL adalah singkatan Bahasa Kueri Terstruktur, dan digunakan untuk berkomunikasi dengan database relasional. Ini adalah bahasa standar untuk sistem manajemen database relasional. Pernyataan SQL digunakan untuk melakukan tugas seperti memperbarui data dalam database, atau mengambil data dari database. Beberapa sistem manajemen database relasional umum yang menggunakan SQL termasuk Microsoft SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL Server di Azure Virtual Machines, MySQL, PostgreSQL, dan Oracle.
Nota
SQL awalnya distandarkan oleh American National Standards Institute (ANSI) pada tahun 1986, dan oleh International Organization for Standardization (ISO) pada tahun 1987. Sejak itu, standar telah diperpanjang beberapa kali karena vendor database relasional telah menambahkan fitur baru ke sistem mereka. Selain itu, sebagian besar vendor database menyertakan ekstensi kepemilikan mereka sendiri yang bukan bagian dari standar, yang telah menghasilkan berbagai dialek SQL.
Anda dapat menggunakan pernyataan SQL seperti SELECT, INSERT, UPDATE, DELETE, CREATE, dan DROP untuk mencapai hampir semua yang perlu Anda lakukan dengan database. Meskipun pernyataan SQL ini adalah bagian dari standar SQL, banyak sistem manajemen database juga memiliki ekstensi kepemilikan tambahan mereka sendiri untuk menangani spesifikasi sistem manajemen database tersebut. Ekstensi ini menyediakan fungsionalitas yang tidak dicakup oleh standar SQL, dan mencakup area seperti manajemen keamanan dan programabilitas. Misalnya, layanan database Microsoft SQL Server, dan Azure yang didasarkan pada mesin database SQL Server, gunakan Transact-SQL. Implementasi ini mencakup ekstensi kepemilikan untuk menulis prosedur dan pemicu tersimpan (kode aplikasi yang dapat disimpan dalam database), dan mengelola akun pengguna. PostgreSQL dan MySQL juga memiliki versi fitur ini sendiri.
Beberapa dialek populer SQL meliputi:
Transact-SQL (T-SQL). Versi SQL ini digunakan oleh Microsoft SQL Server, Azure SQL Database, Azure SQL Managed Instance, dan SQL Server di Azure Virtual Machines.
pgSQL. Ini adalah dialek, dengan ekstensi yang diterapkan di PostgreSQL.
PL/SQL. Ini adalah dialek yang digunakan oleh Oracle. PL/SQL adalah singkatan dari Procedural Language/SQL.
Pengguna yang berencana untuk bekerja secara khusus dengan sistem database tunggal harus mempelajari seluk-beluk dialek dan platform SQL pilihan mereka.
Nota
Azure SQL Database menyertakan fitur AI yang dapat Anda gunakan untuk menulis dan memahami kueri SQL menggunakan bahasa alami.
Nota
Contoh kode SQL dalam modul ini didasarkan pada dialek Transact-SQL, kecuali dinyatakan lain. Sintaks untuk dialek lain umumnya mirip, tetapi dapat bervariasi dalam beberapa detail.
Jenis pernyataan SQL
Pernyataan SQL dikelompokkan ke dalam tiga grup logis utama:
- Bahasa Definisi Data (DDL)
- Bahasa Kontrol Data (DCL)
- Bahasa Manipulasi Data (Data Manipulation Language/DML)
Pernyataan DDL
Anda menggunakan pernyataan DDL untuk membuat, memodifikasi, dan menghapus tabel dan objek lain dalam database (tabel, prosedur tersimpan, tampilan, dan sebagainya).
Pernyataan DDL yang paling umum adalah:
| Pernyataan | Deskripsi |
|---|---|
CREATE |
Buat objek baru dalam database, seperti tabel atau tampilan. |
ALTER |
Ubah struktur objek. Misalnya, mengubah tabel untuk menambahkan kolom baru. |
DROP |
Menghapus objek dari database. |
RENAME |
Ganti nama objek yang sudah ada. |
Peringatan
Pernyataan DROP sangat kuat. Saat Anda menjatuhkan tabel, semua baris dalam tabel tersebut akan hilang. Kecuali Anda memiliki cadangan, Anda tidak akan dapat mengambil data ini.
Contoh berikut membuat tabel database baru. Item di antara tanda kurung menentukan detail setiap kolom, termasuk nama, jenis data, apakah kolom harus selalu berisi nilai (NOT NULL), dan apakah data dalam kolom digunakan untuk mengidentifikasi baris (KUNCI PRIMER) secara unik. Setiap tabel harus memiliki kunci primer, meskipun SQL tidak menerapkan aturan ini.
Nota
Kolom yang ditandai sebagai NOT NULL disebut sebagai kolom wajib . Jika Anda menghilangkan klausa NOT NULL , Anda bisa membuat baris yang tidak berisi nilai dalam kolom. Kolom kosong dalam baris dikatakan memiliki nilai NULL .
CREATE TABLE Product
(
ID INT PRIMARY KEY,
Name VARCHAR(20) NOT NULL,
Price DECIMAL NULL
);
Jenis data yang tersedia untuk kolom dalam tabel akan bervariasi di antara sistem manajemen database. Namun, sebagian besar sistem manajemen database mendukung jenis numerik seperti INT (bilangan bulat, atau bilangan bulat), DESIMAL (angka desimal), dan jenis string seperti VARCHAR (VARCHAR adalah singkatan dari data karakter panjang variabel). Untuk informasi selengkapnya, lihat dokumentasi untuk sistem manajemen database yang Anda pilih.
Pernyataan DCL
Administrator database umumnya menggunakan pernyataan DCL untuk mengelola akses ke objek dalam database dengan memberikan, menolak, atau mencabut izin kepada pengguna atau grup tertentu.
Tiga pernyataan DCL utama adalah:
| Pernyataan | Deskripsi |
|---|---|
GRANT |
Memberikan izin untuk melakukan tindakan tertentu |
DENY |
Menolak izin untuk melakukan tindakan tertentu |
REVOKE |
Menghapus izin yang diberikan sebelumnya |
Misalnya, pernyataan GRANT berikut mengizinkan pengguna bernama user1 untuk membaca, menyisipkan, dan memodifikasi data dalam tabel Produk .
GRANT SELECT, INSERT, UPDATE
ON Product
TO user1;
Pernyataan DML
Anda menggunakan pernyataan DML untuk memanipulasi baris dalam tabel. Pernyataan ini memungkinkan Anda mengambil (kueri) data, menyisipkan baris baru, atau mengubah baris yang sudah ada. Anda juga dapat menghapus baris jika Anda tidak membutuhkannya lagi.
Empat pernyataan DML utama adalah:
| Pernyataan | Deskripsi |
|---|---|
SELECT |
Membaca baris dari tabel |
INSERT |
Menyisipkan baris baru ke dalam tabel |
UPDATE |
Mengubah data dalam baris yang sudah ada |
DELETE |
Menghapus baris yang ada |
Bentuk dasar pernyataan INSERT akan menyisipkan satu baris dalam satu waktu. Secara default, pernyataan SELECT, UPDATE, dan DELETE diterapkan ke setiap baris dalam tabel. Anda biasanya menerapkan klausa WHERE dengan pernyataan ini untuk menentukan kriteria; hanya baris yang cocok dengan kriteria ini yang akan dipilih, diperbarui, atau dihapus.
Peringatan
SQL tidak menyediakan apakah Anda yakin? perintah, jadi berhati-hatilah saat menggunakan DELETE atau UPDATE tanpa klausa WHERE karena Anda dapat kehilangan atau memodifikasi banyak data.
Kode berikut adalah contoh pernyataan SQL yang memilih semua kolom (ditunjukkan oleh *) dari tabel Pelanggan di mana nilai kolom Kota adalah "Seattle":
SELECT *
FROM Customer
WHERE City = 'Seattle';
Untuk mengambil hanya subset kolom tertentu dari tabel, Anda mencantumkannya dalam klausa SELECT , seperti ini:
SELECT FirstName, LastName, Address, City
FROM Customer
WHERE City = 'Seattle';
Jika kueri mengembalikan banyak baris, kueri tersebut tidak selalu muncul dalam urutan tertentu. Jika Anda ingin mengurutkan data, Anda bisa menambahkan klausa ORDER BY . Data akan diurutkan menurut kolom yang ditentukan:
SELECT FirstName, LastName, Address, City
FROM Customer
WHERE City = 'Seattle'
ORDER BY LastName;
Anda juga dapat menjalankan pernyataan SELECT yang mengambil data dari beberapa tabel menggunakan klausa JOIN . Gabungan menunjukkan bagaimana baris dalam satu tabel tersambung dengan baris di tabel lainnya untuk menentukan data apa yang akan dikembalikan. Kondisi penggabungan yang khas menghubungkan kunci asing dari satu tabel dan kunci primer terkait di tabel lainnya.
Kueri berikut ini memperlihatkan contoh yang menggabungkan tabel Pelanggan dan Pesanan . Kueri menggunakan alias tabel untuk menyingkat nama tabel saat menentukan kolom mana yang akan diambil dalam klausa SELECT dan kolom mana yang cocok dalam klausa JOIN .
SELECT o.OrderNo, o.OrderDate, c.Address, c.City
FROM Order AS o
JOIN Customer AS c
ON o.Customer = c.ID
Contoh berikutnya menunjukkan cara memodifikasi baris yang sudah ada menggunakan SQL. Ini mengubah nilai kolom Alamat dalam tabel Pelanggan untuk baris yang memiliki nilai 1 di kolom ID . Semua baris lainnya dibiarkan tidak berubah:
UPDATE Customer
SET Address = '123 High St.'
WHERE ID = 1;
Peringatan
Jika Anda menghilangkan klausa WHERE , pernyataan UPDATE akan memodifikasi setiap baris dalam tabel.
Gunakan pernyataan DELETE untuk menghapus baris. Anda menentukan tabel yang akan dihapus, dan klausa WHERE yang mengidentifikasi baris yang akan dihapus:
DELETE FROM Product
WHERE ID = 162;
Peringatan
Jika Anda menghilangkan klausa WHERE , pernyataan DELETE akan menghapus setiap baris dari tabel.
Pernyataan INSERT mengambil bentuk yang sedikit berbeda. Anda menentukan tabel dan kolom dalam klausa INTO , dan daftar nilai yang akan disimpan dalam kolom ini. SQL standar hanya mendukung penyisipan satu baris pada satu waktu, seperti yang ditunjukkan dalam contoh berikut. Beberapa dialek memungkinkan Anda menentukan beberapa klausul VALUES untuk menambahkan beberapa baris pada satu waktu:
INSERT INTO Product(ID, Name, Price)
VALUES (99, 'Drill', 4.99);
Nota
Topik ini menjelaskan beberapa pernyataan dan sintaks SQL dasar untuk membantu Anda memahami bagaimana SQL digunakan untuk bekerja dengan objek dalam database. Jika Anda ingin mempelajari selengkapnya tentang mengkueri data dengan SQL, tinjau jalur pembelajaran Memulai Kueri dengan Transact-SQL di Microsoft Learn.