Cara menggunakan compiler SQL online
- 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. - Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac).
- Setiap pernyataan yang mengembalikan baris ditampilkan sebagai tabel hasil tersendiri, berurutan, dengan jumlah baris di bawahnya. Nilai
NULLditampilkan dengan label NULL. Jika tidak ada pernyataan yang mengembalikan baris, Anda akan melihat konfirmasi singkat sebagai gantinya. - 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, termasukWITH RECURSIVE. - Window function seperti
ROW_NUMBER(),RANK(),LAG(), dan total berjalan denganSUM() 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
CREATEdanINSERTAnda di bagian atas skrip. - Ini SQLite, bukan MySQL atau PostgreSQL. Sebagian besar SQL standar berfungsi, tetapi fitur khusus vendor seperti stored procedure,
GRANT, kata kunciAUTO_INCREMENTmilik MySQL, atau tipeSERIALmilik 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
.dbmilik 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;
| Tugas | SQL |
|---|---|
| Kunci bernomor otomatis | id INTEGER PRIMARY KEY |
| Menyaring baris | WHERE price BETWEEN 10 AND 20 |
| Pencocokan pola | WHERE name LIKE 'A%' |
| Menggabungkan teks | first || ' ' || last |
| Paginasi | LIMIT 10 OFFSET 20 |
| Mengganti NULL | COALESCE(phone, 'n/a') |
| Insert atau update | INSERT ... ON CONFLICT(id) DO UPDATE SET ... |
Tips
- Gunakan
sqlite_masteruntuk 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
INTEGERtetap bisa menyimpan teks. Tambahkan constraintCHECK, atau gunakan tabelSTRICT, 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.
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