Online SQL derleyici nasıl kullanılır
- Editöre SQL'inizi yazın. Tek bir betikte tablo oluşturabilir (
CREATE TABLE), veri ekleyebilir (INSERT) ve sorgulayabilirsiniz (SELECT). İfadeleri noktalı virgülle ayırın. - Çalıştır düğmesine basın veya Ctrl + Enter kullanın (Mac'te ⌘ + Enter).
- Satır döndüren her ifade, altında bir satır sayısıyla birlikte, sırayla kendi sonuç tablosu olarak gösterilir.
NULLdeğerleri bu şekilde etiketlenir. Hiçbir ifade satır döndürmezse bunun yerine kısa bir onay görürsünüz. - 5, 15 veya 60 saniyelik bir süre sınırı seçin; bu, kontrolden çıkan özyinelemeli sorgular için yararlıdır. Durdur bir sorguyu hemen iptal eder.
SQLite motoru küçüktür, 1 MB'ın çok altındadır; bu yüzden neredeyse anında yüklenir. Örneği sıfırla örnek çalışanlar şemasını geri yükler, main.sql ise betiğinizi indirir.
Sorgularınız kendi tarayıcınızdaki bir Web Worker içinde çalışır. Ne SQL ne de veri sunucularımıza yüklenir veya orada saklanır. Editör son betiğinizi tarayıcınızın yerel depolama alanında tutar, başka hiçbir yerde değil.
Neler destekleniyor
Derleyici, SQLite C kitaplığının WebAssembly'ye derlenmiş hâli olan sql.js üzerinden SQLite 3 çalıştırır. Bir öykünücü değil, gerçek bir ilişkisel veritabanı motorudur.
- DDL ve DML:
CREATE TABLE,CREATE INDEX,CREATE VIEW,INSERT,UPDATE,DELETE, kısıtlamalar, yabancı anahtarlar ve tetikleyiciler. - Sorgular: birleştirmeler (join), alt sorgular,
GROUP BY/HAVING,UNION,CASEveWITH RECURSIVEdahil ortak tablo ifadeleri. - Pencere işlevleri:
ROW_NUMBER(),RANK(),LAG()veSUM() OVER (...)ile kümülatif toplamlar gibi. - Yerleşik işlevler: metin (
substr,upper,replace), sayılar ve tarihler (date,strftime) için.
Sınırlamalar:
- Her çalıştırmada yeni, boş bir bellek içi veritabanı. Tablolar çalıştırmalar arasında korunmaz; bu yüzden
CREATEveINSERTifadelerinizi betiğin en üstünde tutun. - Bu SQLite'tır, MySQL veya PostgreSQL değil. Standart SQL'in çoğu çalışır, ancak saklı yordamlar,
GRANT, MySQL'inAUTO_INCREMENTanahtar sözcüğü veya PostgreSQL'inSERIALtürü gibi üreticiye özgü özellikler çalışmaz. - Büyük sonuç kümeleri, toplam satır sayısıyla birlikte ilk 1.000 satırı gösterir.
- Harici bir veritabanına bağlanamaz veya kendi
.dbdosyanızı açamazsınız.
SQL hızlı başvuru
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;
| Görev | SQL |
|---|---|
| Otomatik numaralı anahtar | id INTEGER PRIMARY KEY |
| Satırları süzme | WHERE price BETWEEN 10 AND 20 |
| Desen eşleştirme | WHERE name LIKE 'A%' |
| Metin birleştirme | first || ' ' || last |
| Sayfalama | LIMIT 10 OFFSET 20 |
| NULL'u değiştirme | COALESCE(phone, 'n/a') |
| Ekleme veya güncelleme | INSERT ... ON CONFLICT(id) DO UPDATE SET ... |
İpuçları
- Oluşturduklarınızı listelemek için
sqlite_masterkullanın:SELECT name, sql FROM sqlite_master; - Bir sorgunun dizin kullanıp kullanmadığını görmek için
EXPLAIN QUERY PLAN SELECT ...kullanın. - SQLite esnek tür kullanır:
INTEGERolarak bildirilmiş bir sütun yine de metin saklayabilir. Tür denetimi istediğinizdeCHECKkısıtlamaları ekleyin veyaSTRICTtabloları kullanın. - Yabancı anahtarlar yalnızca
PRAGMA foreign_keys = ON;sonrasında uygulanır. - Uzun ve dağınık bir sorgu mu var? Paylaşmadan önce SQL Biçimlendirici ile düzenleyin.
BEGIN; … COMMIT; içine alın. Özyinelemeli bir CTE ile test verisi üretmek, alıştırma için bir tabloyu binlerce satırla doldurmanın hızlı bir yoludur.Sık sorulan sorular
Hangi SQL lehçesi kullanılıyor?
SQLite 3. Standart SQL'i yakından izler; bu yüzden SELECT, birleştirmeler, gruplama ve pencere işlevlerini öğrenmek için çok uygundur. MySQL, PostgreSQL veya SQL Server'a özgü söz dizimi küçük değişiklikler gerektirebilir.
Verilerim kaydediliyor mu?
Hayır. Her çalıştırma yeni bir bellek içi veritabanı oluşturur ve çalıştırma biter bitmez silinir. Yalnızca editördeki SQL metni, tarayıcınızda yerel olarak hatırlanır.
Birkaç sorguyu aynı anda çalıştırabilir miyim?
Evet. Bunları noktalı virgülle ayırın. İfadeler sırayla çalışır ve satır döndüren her biri kendi sonuç tablosunu üretir.
Başka dillerle de alıştırma yapabilir miyim?
Evet. Online Python Derleyici'yi deneyin (Python'un yerleşik sqlite3 modülü orada da çalışır) ya da Geliştirici araçları bölümündeki tüm araçlara göz atın.
Güncellendi