SQL Biçimlendirici
SQL (Structured Query Language), ilişkisel veritabanları için standart dildir. Bu araç SQL sorgularını uygun girintileme ile biçimlendirir, anahtar kelimeleri büyük harfe dönüştürür ve karmaşık sorguları okunabilirlik için yapılandırır. Yaygın SQL lehçelerini destekler.
Spesifikasyonlar
Yaygin Kullanim Alanlari
- Günlüklerden veya ORM çıktısından küçültülmüş SQL'i biçimlendirme
- Kod incelemesi için karmaşık sorguları okunabilir hale getirme
- Dokümantasyon için SQL hazırlama
- Mevcut sorguları hata ayıklama ve anlama
Ozellikler
- Tutarlı girintileme ile SQL'i düzgün yazdırma
- SQL anahtar kelimelerini büyük harfe dönüştürme (SELECT, FROM, WHERE vb.)
- Karmaşık JOIN'leri ve alt sorguları biçimlendirme
- WITH ile CTE (Ortak Tablo İfadeleri) işleme
- Pencere fonksiyonları desteği
- 6 SQL lehçesi desteği (Standard, PostgreSQL, MySQL, MariaDB, SQLite, T-SQL)
- Tablo adı çıkarma
- Küçültülmüş görünüm geçişi
- Boyut tasarrufu gösterimi (orijinal ve küçültülmüş karşılaştırması)
Ornekler
JOIN İçeren Karmaşık Sorgu
Deneyin →Toplama, birleştirme ve sıralama içeren bir sorgu.
SELECT
u.id,
u.name,
COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.active = true
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 5
ORDER BY order_count DESCIpuclari
- Sürüm kontrolüne göndermeden önce sorguları biçimlendirin.
- Büyük harfli anahtar kelimeler okunabilirliği artırır ancak SQL tarafından zorunlu tutulmaz.
- Alt sorgular netlik için girintili olmalıdır.
Anlama SQL Biçimlendirici
SQL (Structured Query Language), 1970'lerden beri ilişkisel veritabanları için standart dil olmuştur. PostgreSQL, MySQL, SQLite, SQL Server ve Oracle dahil veritabanı sistemlerinde veri sorgulama, düzenleme ve yönetme için bildirimsel bir sözdizimi sunar. Her veritabanı tescilli uzantılar eklese de, çekirdek dil dikkat çekici biçimde tutarlıdır.
SQL ifadeleri birkaç kategoriye ayrılır. Veri Manipülasyon Dili (DML), veri okuma ve değiştirme için SELECT, INSERT, UPDATE ve DELETE içerir. Veri Tanımlama Dili (DDL), veritabanı nesnelerini yönetmek için CREATE, ALTER ve DROP içerir. Veri Kontrol Dili (DCL), GRANT ve REVOKE ile izinleri yönetir. Modern SQL ayrıca WITH cümleleri ile Ortak Tablo İfadelerini (CTE), analitik için pencere fonksiyonlarını ve yarı yapılandırılmış veriler için JSON işlemlerini destekler.
SQL biçimlendirme, okunabilirlik ve bakım için gereklidir. Birleştirmeler, alt sorgular ve toplamalar içeren karmaşık bir sorgu, tek satıra sıkıştırıldığında anlaşılmaz hale gelebilir — bu ORM tarafından üretilen sorgularda, uygulama günlüklerinde ve veritabanı izleme araçlarında yaygındır. Büyük harfli anahtar kelimeler, uygun girintileme ve hizalanmış cümlelerle tutarlı biçimlendirme, sorguları incelemeyi, hata ayıklamayı ve optimize etmeyi kolaylaştırır.
SQL biçimlendirme ayrıca performans analizine yardımcı olur. İyi biçimlendirilmiş sorgular, eksik dizinleri belirlemeyi (WHERE ve JOIN koşullarında hangi sütunların göründüğünü görerek), birleştirme olarak yeniden yazılabilecek gereksiz alt sorguları tespit etmeyi ve CTE'ler ile pencere fonksiyonlarını içeren karmaşık sorguların mantıksal akışını anlamayı kolaylaştırır.
SQL anahtar kelimeler için büyük/küçük harf duyarlı değildir, bu nedenle SELECT ve select veritabanı motoru tarafından aynı şekilde işlenir. Büyük harfli anahtar kelimeler (SELECT, FROM, WHERE, JOIN), SQL anahtar kelimelerini tablo ve sütun adlarından görsel olarak ayırarak okunabilirliği artıran yaygın bir kuraldır. Çoğu biçimlendirici ve stil kılavuzu bu nedenle büyük harfli anahtar kelimeleri önerir.
Ortak Tablo İfadesi (CTE), WITH anahtar kelimesi ile tanımlanan, tek bir sorgunun süresi boyunca var olan adlandırılmış geçici sonuç kümesidir. CTE'ler karmaşık sorguları adlandırılmış adımlara bölerek, derinlemesine iç içe geçmiş alt sorguları yukarıdan aşağıya sıralı bir yapıyla değiştirerek okunabilirliği artırır. Özyinelemeli CTE'ler bu yeteneği, organizasyon şemaları veya iç içe yorumlar gibi hiyerarşik verileri dolaşmak için genişletir.
Çekirdek SQL sözdizimi (SELECT, JOIN, WHERE, GROUP BY) veritabanı lehçeleri arasında tutarlıdır, ancak tescilli özelliklerde farklılıklar ortaya çıkar. MySQL tanımlayıcıları alıntılamak için geri tırnak, PostgreSQL çift tırnak, SQL Server ise köşeli parantez kullanır. Fonksiyonlar, veri türleri ve LATERAL birleştirmeler, MERGE ve UPSERT gibi gelişmiş özellikler de lehçeye göre değişir. Bu biçimlendirici, tüm büyük veritabanlarında çalışan standart SQL sözdizimini işler.