SQL Online - IDE, Editor, Compiler, Interpreter

Latihan SQL online: buat tabel, masukkan data, dan jalankan kueri pada database SQLite sungguhan di browser Anda. Hasilnya ditampilkan sebagai tabel.

SQLite 3 (sql.js) · Berjalan di browser Anda, sehingga kode Anda tidak pernah sampai ke server kami.
main.sqlSQL
Output

            
        
Ctrl/⌘ + Enter untuk menjalankan

Fitur compiler SQL online (IDE, editor & interpreter)

Tulis, jalankan, dan uji kode SQL online secara gratis. Halaman ini berfungsi sebagai IDE, editor kode, compiler, dan interpreter SQL online sekaligus: ketik kode Anda, tekan Jalankan, dan lihat outputnya seketika. Semuanya berjalan di browser Anda, tanpa perlu menginstal apa pun dan tanpa membuat akun.

  • Jalankan kode seketika: SQLite 3 (sql.js), dengan output dalam waktu kurang dari satu detik setelah pemuatan pertama.
  • Editor kode: penyorotan sintaks, nomor baris, pencocokan kurung, dan penutupan kurung otomatis.
  • Error yang jelas: pesan error dan peringatan muncul di panel output, seperti di komputer Anda sendiri.
  • Layar penuh: Ctrl/⌘ + Shift + F, ukuran font yang dapat diatur, tata letak berdampingan atau bertumpuk, dan panel yang dapat diubah ukurannya.
  • Simpan otomatis: kode Anda disimpan di browser; download sebagai main.sql atau salin dengan satu klik.
  • Aman untuk bereksperimen: batas waktu dan tombol Hentikan mengakhiri loop tak terbatas.
  • Privat: runtime SQL berjalan di perangkat Anda, sehingga kode Anda tidak pernah diupload.
  • Mode gelap dan pintasan keyboard: Ctrl/⌘ + Enter menjalankan kode.
  • Gratis: tanpa daftar, tanpa batas penggunaan.

Pelajari bahasa pemrograman lain

Cara menggunakan compiler SQL online

  1. Tulis SQL Anda di editor. Anda dapat membuat tabel (CREATE TABLE), menambahkan data (INSERT), dan menjalankan query atasnya (SELECT) dalam satu skrip. Pisahkan pernyataan dengan titik koma.
  2. Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac).
  3. Setiap pernyataan yang mengembalikan baris ditampilkan sebagai tabel hasil tersendiri, berurutan, dengan jumlah baris di bawahnya. Nilai NULL ditampilkan dengan label NULL. Jika tidak ada pernyataan yang mengembalikan baris, Anda akan melihat konfirmasi singkat sebagai gantinya.
  4. Pilih batas waktu 5, 15, atau 60 detik, yang berguna untuk query rekursif yang tidak berhenti. Hentikan membatalkan query seketika.

Mesin SQLite berukuran kecil, jauh di bawah 1 MB, sehingga dimuat hampir seketika. Reset contoh memulihkan skema contoh employees, dan main.sql mengunduh skrip Anda.

Query Anda berjalan di Web Worker di browser Anda sendiri. Baik SQL maupun datanya tidak diunggah atau disimpan di server kami. Editor menyimpan skrip terakhir Anda di penyimpanan lokal browser Anda, dan tidak di tempat lain.

Apa saja yang didukung

Compiler ini menjalankan SQLite 3 melalui sql.js, pustaka C SQLite yang dikompilasi ke WebAssembly. Ini adalah mesin database relasional sungguhan, bukan emulator.

  • DDL dan DML: CREATE TABLE, CREATE INDEX, CREATE VIEW, INSERT, UPDATE, DELETE, constraint, foreign key, dan trigger.
  • Query: join, subquery, GROUP BY/HAVING, UNION, CASE, dan common table expression, termasuk WITH RECURSIVE.
  • Window function seperti ROW_NUMBER(), RANK(), LAG(), dan total berjalan dengan SUM() OVER (...).
  • Fungsi bawaan untuk teks (substr, upper, replace), angka, dan tanggal (date, strftime).

Keterbatasan:

  • Database in-memory yang baru dan kosong pada setiap eksekusi. Tabel tidak bertahan di antara eksekusi, jadi letakkan pernyataan CREATE dan INSERT Anda di bagian atas skrip.
  • Ini SQLite, bukan MySQL atau PostgreSQL. Sebagian besar SQL standar berfungsi, tetapi fitur khusus vendor seperti stored procedure, GRANT, kata kunci AUTO_INCREMENT milik MySQL, atau tipe SERIAL milik PostgreSQL tidak berfungsi.
  • Hasil yang besar menampilkan 1.000 baris pertama, beserta jumlah total barisnya.
  • Anda tidak dapat terhubung ke database eksternal atau membuka file .db milik Anda sendiri.

Referensi cepat SQL

CREATE TABLE orders (
  id       INTEGER PRIMARY KEY,
  customer TEXT NOT NULL,
  amount   REAL,
  placed   TEXT DEFAULT (date('now'))
);

INSERT INTO orders (customer, amount) VALUES
  ('Ada', 120.0), ('Ada', 35.5), ('Grace', 80.0);

WITH totals AS (
  SELECT customer, SUM(amount) AS spent, COUNT(*) AS n
  FROM orders
  GROUP BY customer
)
SELECT customer, spent, n
FROM totals
WHERE spent >= 50 AND n <> 0
ORDER BY spent DESC;
TugasSQL
Kunci bernomor otomatisid INTEGER PRIMARY KEY
Menyaring barisWHERE price BETWEEN 10 AND 20
Pencocokan polaWHERE name LIKE 'A%'
Menggabungkan teksfirst || ' ' || last
PaginasiLIMIT 10 OFFSET 20
Mengganti NULLCOALESCE(phone, 'n/a')
Insert atau updateINSERT ... ON CONFLICT(id) DO UPDATE SET ...

Tips

  • Gunakan sqlite_master untuk melihat daftar objek yang telah Anda buat: SELECT name, sql FROM sqlite_master;
  • Gunakan EXPLAIN QUERY PLAN SELECT ... untuk melihat apakah query memakai indeks.
  • SQLite memakai tipe yang fleksibel: kolom yang dideklarasikan INTEGER tetap bisa menyimpan teks. Tambahkan constraint CHECK, atau gunakan tabel STRICT, bila Anda menginginkan penegakan tipe.
  • Foreign key baru ditegakkan setelah PRAGMA foreign_keys = ON;.
  • Query panjang dan berantakan? Rapikan dengan SQL Formatter sebelum Anda membagikannya.
Tips: Bungkus insert yang berulang dalam BEGIN; … COMMIT;. Membuat data uji dengan CTE rekursif adalah cara cepat mengisi tabel dengan ribuan baris untuk berlatih.

Pertanyaan yang sering diajukan

Dialek SQL apa yang dipakai?

SQLite 3. Dialek ini sangat dekat dengan SQL standar, sehingga cocok untuk mempelajari SELECT, join, pengelompokan, dan window function. Sintaks khusus MySQL, PostgreSQL, atau SQL Server mungkin memerlukan perubahan kecil.

Apakah data saya disimpan?

Tidak. Setiap eksekusi membuat database in-memory baru, yang dihapus begitu eksekusi berakhir. Hanya teks SQL di editor yang diingat, secara lokal di browser Anda.

Bisakah saya menjalankan beberapa query sekaligus?

Bisa. Pisahkan dengan titik koma. Pernyataan dijalankan berurutan, dan setiap pernyataan yang mengembalikan baris menghasilkan tabel hasilnya sendiri.

Bisakah saya berlatih dengan bahasa lain juga?

Bisa. Coba Compiler Python Online, di mana modul sqlite3 bawaan Python juga berfungsi, atau telusuri semua alat developer kami.

Diperbarui

Tersalin ke clipboard