SQL bölümü, her proje için özel bir SQLite veritabanı sağlar. Tablolar, dizinler ve görünümler oluşturabilir, verileri manuel olarak düzenleyebilir, her türlü sorguyu yazabilir ve veritabanına doğrudan iş akışınızdan erişebilirsiniz. Tam özellikli SQLite'dir ve kısıtlanmamış sözdizimi sunar: SQLite tarafından desteklenen her şey burada da çalışır.
SQL veritabanı, Tablolar bölümündeki tablolardan ayrı olarak saklanır. Birinde yapılan değişiklikler diğerini etkilemez.
Nasıl açılır
Proje → Tablolar → Tablo Ekle'nin sağındaki SQL'e tıklayın.

Tablolar listesine dönmek için sayfa başlığındaki oka tıklayın.
SQL bölümü, tabloları düzenleme iznine sahip ekip üyelerine açıktır. Yalnızca görüntüleme erişimi olan kullanıcılar veritabanı yapısını görebilir, ancak verilerine veya sorgularına erişemez.
Veritabanı yapısı
Veritabanı ağacı sağda görüntülenir. Sütunları ve dizinleriyle birlikte tabloları ve ardından görünümleri içerir. Her sütun veri türünü gösterir, birincil anahtar sütunları anahtar simgesiyle işaretlenir ve dizinler UNIQUE özniteliğini ve ilişkili sütunlarını görüntüler.

Yapıyla ilgili tüm işlemler düğüm menüsünden yapılabilir: bir düğüme sağ tıklayın, üzerine gelindiğinde beliren ⋮ simgesine tıklayın veya ağacın üzerindeki + düğmesini kullanın.
| Düğüm | İşlemler |
|---|---|
| Veritabanı | tablo oluştur, görünüm oluştur, yenile, veritabanını indir |
| Tablo | aç, sütun ekle, dizin ekle, yeniden adlandır, DDL, yenile, sil |
| Sütun | yeniden adlandır, sil |
| Dizin | DDL, sil |
| Görünüm | aç, DDL, sil |

Tablo oluştur. Tablo adını ve sütunları belirtin: ad, tür, varsayılan değer, PK ve NOT NULL. Önerilerden bir veri türü seçebilir veya kendi veri türünüzü girebilirsiniz. Birden çok sütunu PK olarak işaretlerseniz, bileşik birincil anahtar oluştururlar.

DDL, nesnenin CREATE ifadesini konsolda görüntüler. Bu, yapısını kopyalamak veya başka bir projede yeniden oluşturmak için kullanışlıdır.
Ağacın üzerindeki düğmeler nesne oluşturmanıza, veritabanını yenilemenize, konsolu gösterip gizlemenize, seçili tablonun DDL'sini görüntülemenize, veritabanını indirmenize veya veritabanını temizlemenize olanak tanır.

Tablo verileri
Verilerini açmak için veritabanı ağacında bir tabloya tıklayın. Izgara, Tablolar bölümündeki bir sayfaya benzer şekilde çalışır:
- Bir hücreyi düzenlemek için çift tıklayın. Kaydetmek için Enter, iptal etmek için Esc tuşlarına basın. Değer hemen veritabanına yazılır.
- Satırlar. Boş bir satır eklemek için + veya seçili satırları silmek için − düğmesine tıklayın. Seçmek için ilk sütundaki satır numarasına tıklayın. Birden çok satır seçmek için Shift veya Cmd/Ctrl kullanın.
-
NULL değerleri
NULLolarak görüntülenir. Bir hücreyi temizlemek veritabanına boş bir dize yazar. NULL değer yazmak için bir sorgu kullanın. - Izgaranın üzerindeki WHERE ve ORDER BY alanları SQL koşullarını ve sıralama ifadelerini kabul eder. Bir ifade girin ve Enter tuşuna basın. ORDER BY alanı, sütun menüsü aracılığıyla uygulanan sıralamaya göre önceliklidir.
- Sütun menüsü (sütun başlığındaki simge): artan veya azalan sıralama veya alt dizeye göre filtreleme.
- Veriler kaydırdıkça 100 satırlık gruplar halinde yüklenir. Sağdaki sayaç geçerli aralığı ve toplam satır sayısını gösterir.
- Görünümler salt okunurdur.
Konsol

Konsolu açmak için veritabanı ağacının üzerindeki </> düğmesine tıklayın; konsol, sözdizimi vurgulamalı bir sorgu düzenleyicisi ve sorgu sonuçları içerir.
- Bir sorguyu düğmeyi veya Ctrl+Enter (Mac'te Cmd+Enter) kullanarak çalıştırın.
-
;ile ayrılmış birden çok sorgu çalıştırabilirsiniz. Sonuç, veri üreten son sorgunun döndürdüğü satırları ve etkilenen toplam satır sayısını görüntüler. - SQLite hataları olduğu gibi görüntülenir. Birden çok sorgu çalıştırırken, hata mesajına sorgu numarası eklenir:
[2] böyle bir tablo yok: .... - Sık kullanılanlar. Geçerli sorguyu bir ad altında kaydetmek için Sık Kullanılanlara Ekle'ye tıklayın. Kaydedilen sorgular düzenleyicinin üzerinde etiketler olarak görünür: sorguyu yüklemek için birine tıklayın veya silmek için çarpı işaretine tıklayın. Sık kullanılanlar tarayıcınızda her proje için ayrı olarak saklanır.
- Son sorgunuzun metni oturumlar arasında korunur.
Veritabanını indirme ve temizleme
Veritabanını indir, tüm veritabanını project_<id>_sql.sqlite3 olarak indirir. SQLite uyumlu herhangi bir uygulamayla açabilir, başka bir projeye aktarabilir veya Mavibot dışında kullanabilirsiniz.
Veritabanını temizle, SQL bölümündeki tüm tabloları ve verileri siler. Bu işlem geri alınamaz ve bir onay sözcüğü girmenizi gerektirir. Tablolar bölümündeki tablolar etkilenmez.
Hesap makinesi işlevleri
İki hesap makinesi işlevi, iş akışınızdan SQL veritabanına erişmenizi sağlar. Her ikisi de düzenleyici önerilerinde bulunur ve asistan tarafından tanınır.
sql(query, params=null, strict=true)
Bir sorgu yürütür.
| Sorgu | Dönüş değeri |
|---|---|
| Sonuç döndüren sorgu (SELECT, RETURNING, PRAGMA) | Satırların JSON listesi, her satır bir nesne olarak temsil edilir: [{"id": 1, "name": "Anna"}, ...]
|
| Sonuç döndürmeyen sorgu (INSERT, UPDATE, DELETE) | Etkilenen satır sayısı |
| CREATE, DROP ve diğer şema değişiklikleri | 0 |
| Hata |
ERROR: <SQLite hata mesajı> dizesi |
Örnek:
rows = sql("SELECT name, phone FROM clients WHERE city = ?", [city])
n = sql("UPDATE clients SET status = :s WHERE id = :id", {"s": "vip", "id": client_id})
sql_value(query, params=null, strict=true)
sql gibi çalışır, ancak tek bir değer döndürür: sonucun ilk satırının ilk sütunu.
Satır yoksa, sonuç yoksa veya değer NULL ise boş bir dize döndürür.
total = sql_value("SELECT count(*) FROM clients")
name = sql_value("SELECT name FROM clients WHERE id = ?", [client_id])
Parametreler
params, değerleri sorgu metninden ayrı olarak sorguya iletir: ? yer tutucuları için bir JSON dizisi veya :name yer tutucuları için bir JSON nesnesi kullanın. [...] ve {...} içinde değişkenler düz değişken adları olarak yazılır:
[client_id], [#{client_id}] değil.
Bir müşteriden alınan ad, telefon numarası veya mesaj metni gibi herhangi bir değeri params aracılığıyla iletin. Doğrudan sorgu metnine eklenen bir değer, sorgunun kendisini değiştirebilir.
Katı mod
Varsayılan olarak strict=true değeridir: işlev tam olarak bir sorgu kabul eder ve sorgu metninde yorumlara izin vermez. Bu, bir müşteri mesajından alınan bir değerin ikinci bir sorgu eklemesini veya orijinal sorgunun geri kalanını kesmesini önler.
Bu kısıtlamayı kaldırmak için strict=false olarak ayarlayın, örneğin ; ile ayrılmış birden çok sorgu çalıştırırken.
Sınırlar
| Sınır | Değer |
|---|---|
| Tek bir sorgu veya sorgu grubu için yürütme süresi | 5 saniye |
| Döndürülen satırlar | en fazla 1.000; ek satırlar döndürülmez |
| Sorgu metni uzunluğu | 64 KB |
| Veritabanı boyutu | 200 MB; aşıldığında yalnızca veri okuma ve silme kullanılabilir |
Yasaklanan tek komutlar, projenin veritabanı dışındaki kaynaklara erişenlerdir: dosya yolu ile ATTACH ve VACUUM INTO.
Standart VACUUM, PRAGMA ve işlemler dahil diğer her şey desteklenir.