Bu araç hakkında
SQL sorguları hızla uzar ve karmaşıklaşır; birçok tablodaki birleşimler, iç içe geçmiş alt sorgular, birçok koşula sahip büyük WHERE cümleleri, karmaşık CASE ifadeleri. Birkaç satıra sıkıştırılmış kompakt SQL okunamaz; Tutarlı büyük harflerle düzgün girintili SQL, sorgu yapısını bir bakışta görünür kılar. Biçimlendirme, hatalarını ayıklayabileceğiniz bir sorgu ile ayıklayamayacağınız bir sorgu arasındaki farktır.
Bu biçimlendirici, SQL'i ayrıştırır ve girintili, uygun şekilde kaplanmış çıktı üretir. SQL anahtar sözcükleri (SELECT, FROM, WHERE, JOIN, GROUP BY) genellikle büyük harfle yazılır, tablo ve sütun adları kaynakla eşleşir ve girinti, iç içe geçmeyi yansıtır (alt sorgular üst öğelerinin içinde girintilidir, CASE dalları girintilidir). Çoklu lehçe desteği MySQL, PostgreSQL, SQL Server, Oracle ve SQLite farklılıklarını yönetir.
Biçimlendirme tahribatsızdır; biçimlendirilmiş sorgu işlevsel olarak girişle aynıdır. Yalnızca boşluk ve büyük/küçük harf değişikliği.
SQL'i Neden Formatlamalısınız?
Yoğun biçimlendirilmemiş SQL okumak zihinsel olarak yorucudur. Hangi koşulların hangi JOIN'lere ait olduğunu, alt sorguların nerede başlayıp nerede bittiğini ve CASE dallarının nasıl ilişkilendiğini belirlemek, her şey birkaç satırda olduğunda zorlaşır. Biçimlendirilmiş SQL'in okunması daha hızlıdır ve yanlış okuma yapısından kaynaklanan hataları azaltır.
Özellikle kod incelemesinin faydaları. Gözden geçirenler, bir sorgunun biçimlendirildiğinde ne yaptığını hızlı bir şekilde kavrayabilir; İnceleme sırasında biçimlendirilmemiş SQL'in okunması, atlamayı veya damgalamayı teşvik eder. Biçimlendirilmiş SQL, sorgular değiştiğinde de anlamlı farklar üretir.
Teknik Detaylar
SQL ayrıştırma, lehçenin anlaşılmasını gerektirir çünkü farklı veritabanları dilbilgisini farklı şekillerde genişletir. Biçimlendirici genellikle anahtar kelimeleri, tanımlayıcıları, değişmez değerleri ve noktalama işaretlerini tanımlamak için bir belirteç kullanır, ardından belirteçler arasındaki boşluk ve girinti kurallarına sahip çıktı üretir.
Girinti kuralları: SELECT, FROM, WHERE, GROUP BY, ORDER BY her biri kendi satırında. Sonraki satırlardaki birleştirilmiş tablolar FROM altında girintilidir. Okunabilirlik için WHERE içindeki koşullar ayrı satırlarda. Kendi girintili bloklarındaki alt sorgular.
Büyük/küçük harf kuralları: anahtar kelimelerin büyük harfle yazılması (SELECT, FROM, WHERE) en yaygın olanıdır. Bazı takımlar küçük harf tercih eder. Tanımlayıcılar (tablo ve sütun adları) kaynak durumunu korur.
Sık sorulan sorular
- Biçimlendirme sorgu davranışını değiştirir mi?
- Hayır. SQL biçimlendirmesi yalnızca boşlukları, satır sonlarını ve anahtar kelime büyüklüğünü ayarlar. Sorgu mantığı, yürütme planı ve sonuçlar aynı kalır. Bu tamamen okunabilirlik konusunda bir gelişme.
- Hangi SQL lehçeleri destekleniyor?
- Araç, standart SQL'i ve belirli lehçeleri destekler: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) ve Oracle PL/SQL. Lehçeye özgü anahtar kelimeler ve işlevler doğru şekilde tanınır.
- Alt sorguları ve CTE'leri ele alıyor mu?
- Evet. Ortak Tablo İfadeleri (WITH cümlecikleri), iç içe geçmiş alt sorgular, pencere işlevleri ve karmaşık JOIN zincirleri, uygun girinti düzeyleriyle biçimlendirilir.
- Bunu saklı prosedürler için kullanabilir miyim?
- Biçimlendirici tekli SQL ifadelerini en iyi şekilde işler. Çoklu ifade prosedürleri, tetikleyiciler ve işlevler işe yarayabilir ancak karmaşık prosedür mantığı (IF/ELSE, döngüler) biçimlendirmesi lehçeye bağlıdır.
- Anahtar kelimeler büyük harf mi yoksa küçük harf mi olmalı?
- Sözleşme değişir. Büyük harfli anahtar kelimeler geleneksel ve yaygındır. Küçük harf, modern stil kılavuzlarında benimseniyor. Birini seçin ve kod tabanında tutarlı kalın.
- Saklı yordamları biçimlendiriyor mu?
- Çoğu biçimlendirici, saklı yordam sözdizimini (CREATE PROCEDURE, BEGIN/END blokları, kontrol akışı) yönetir. Lehçeye özgü uzantılar kısmen desteklenebilir.
- SQL'im yüklendi mi?
- Hayır. Biçimlendirme tarayıcınızda gerçekleşir.
- Komut satırından biçimlendirebilir miyim?
- Birçok SQL formatlayıcı CLI araçları sunar (sqlfluff, sql-formatter). Toplu biçimlendirme veya CI entegrasyonu için bunları kullanın. Tarayıcı biçimlendiricileri geçici ve tek seferlik kullanım içindir.