IT
OmnvertGörsel • Belge • Ağ

SQL Biçimlendirici & Beautifier

Format SQL queries for 17 dialects with configurable indent, keyword case and comma style.
Developer Tools →
Input SQL
597 chars
Lines
0
Output bytes
0 B
Statements
0
Formatted
100% client-side: your queries never leave your browser.
About this tool

SQL biçimlendirmeye en çok ihtiyacı olan ve en az alan formattır. ORM-üretilmiş sorgular tek satır, debugger'da on ekrana sarmalanır; log dosyalarından kopyalanan sorgular timestamp önekiyle gelir; dokümantasyondan yapıştırılan sorgular farklı stildedir; takım arkadaşının yazdığı sorgular okumadan önce çevrilen konvansiyonları takip eder. Biçimlendirici herhangi bir girdiyi alır ve takımınızın tercih ettiği stilde — büyük/küçük harf anahtar, trailing/leading virgül, 2/4 boşluk girinti — normalize edilmiş okunabilir form üretir. Çıktı semantik olarak byte-eşdeğerdir.

Uygulama 17 SQL lehçesini ve sayım artıyor destekleyen sql-formatter kütüphanesini kullanır. Lehçe seçici önemlidir çünkü SQL tek dil değildir — kendi anahtarları, fonksiyon adları, tip sistemi ve quirks'leri olan bir dil ailesidir. PostgreSQL'in DISTINCT ON, RETURNING'i; T-SQL'in TOP, CROSS APPLY'ı; PL/SQL'in DECLARE/BEGIN/END bloklarının; BigQuery'nin UNNEST'inin; Snowflake'in tablo-fonksiyon sözdiziminin her biri farklıdır. Doğru lehçe seçmek biçimlendiriciye hangi anahtarları tanıyacağını söyler.

Anahtar kelime durumu çoğu takımın en çok önemsediği yapılandırma kararıdır. Üç seçenek — UPPERCASE, lowercase, Capitalize — doğada göreceğiniz konvansiyonları kapsar. UPPERCASE birçok mağazada uzun süredir varsayılandır; lowercase modern alternatif; Capitalize bazı eski codebase'lerde yaşar. Biçimlendirici girişin nasıl yazıldığından bağımsız normalize eder.

Virgül konumu ikinci yapılandırma. Trailing (SELECT clause her satırı virgülle bitirir, sonuncusu hariç) çoğu kişinin ilk öğrendiği. Leading (ilk satırdan sonraki her satır virgülle başlar) DBA'lar arasında güçlü taraftarı vardır — tek kolonu yorumlayıp dangling virgül kalmamasını sağlar.

Girinti — 2-boşluk modern; 4-boşluk birçok enterprise SQL codebase'inde uzun süredir; tab eski sistemlerde. Biçimlendirici hepsini işler. Yapısal şekil (SELECT, FROM, WHERE, GROUP BY, ORDER BY pozisyonları) standart SQL biçimlendirme stiline göre.

Biçimlendirici nerede yardım eder: Query plan inceleme (EXPLAIN ANALYZE'in formatlandırılmamış sorguda eşlemesi imkansız), debug (hata mesajındaki satır numaraları yalnızca biçimli kaynakla hizalanır), code review (mantıksal clause'larla hizalanmış diff), dokümantasyon. Tooling: migration scripts version control'a girerken git diff'leri anlamlı olur.

Bilmeniz gereken edge case'ler: CTE'ler (WITH) her CTE kendi satırında WITH altında girintilenir. RECURSIVE CTE de aynı. Window fonksiyonları (OVER (PARTITION BY ... ORDER BY ...)) kısaysa fonksiyon çağrısıyla aynı satırda, uzunsa wrap'lenir. JOIN'ler ON clause girintilenmiş. UNION/INTERSECT/EXCEPT her dal kendi SELECT'i, set operatörü kendi satırında. Stored procedure ve trigger (T-SQL/PL/SQL'in sözdizimi-ağır kısımları) makul girintiyle ama lehçe-spesifik özellikler elle tuning gerektirebilir.

Multi-statement (noktalı virgülle ayrılmış birden fazla statement) işlenir — her statement bağımsız biçimlendirilir, aralarına boş satır konur. Statement count tile algılananları söyler. Çok büyük (binlerce statement) için CLI biçimlendirici kullanın.

Gizlilik aynı: yükleme yok, log yok, tarayıcıda. Yapıştırdığınız SQL'in literal değerleri, dahili tablo adları veya veri modelinizi açığa çıkaran kalıplar cihazınızdan ayrılmaz. Workflow ipucu: önce biçimlendirin, sonra çalıştırın — yapı bir bakışta görünür, eksik WHERE veya yanlış join condition'ı yakalanır.

Bu araç komşularıyla eşleşir: JSON Viewer (JSON kolon dönüşleri için), JSON to TypeScript (sorgu sonucu örneklerinden tip), Regex Tester (LIKE veya CHECK regex debug), Hash Generator (partition kolonları için stable hash).

Kullanım senaryoları
  • ORM-üretilmiş sorguları debug öncesi güzelleştirin.
  • Takım migration script'leri arasında SQL stilini normalize edin.
  • BigQuery / Snowflake / Redshift sorgularını lehçe-farkındalıkla biçimlendirin.
  • UPPERCASE anahtar stilini lowercase'e (veya tersi) çevirin.
  • Trailing-virgül SELECT listesini leading-virgül'e çevirin.
  • Karmaşık CTE-ağır sorgu yapısını bir bakışta inceleyin.
  • Teknik dokümantasyon için SQL örnekleri hazırlayın.
  • Junior mühendislere iyi biçimlendirilmiş SQL'i öğretin.
Nasıl çalışır
  1. 1SQL'inizi sola yapıştırın veya .sql dosyası yükleyin.
  2. 2Lehçe seçin (PostgreSQL, MySQL, T-SQL, PL/SQL, BigQuery, Snowflake vb.).
  3. 3Anahtar durum (UPPER/lower/Capitalize) ve virgül konumu seçin.
  4. 4Girinti (2/4/tab) seçin.
  5. 5Biçimlendirilmiş SQL sağda görünür.
  6. 6Kopyala'ya tıklayın veya .sql indirin.
SSS
Hangi SQL lehçeleri destekleniyor?
17 lehçe: PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake, Redshift, Db2, Hive, Singlestore, Spark, Trino, TiDB, N1QL ve standart SQL.
Sorguyu çalıştırır mı?
Hayır. Yalnızca metni yeniden biçimlendirir — herhangi bir veritabanına bağlanmaz, sorgu çalıştırmaz. Çıktıyı kendi SQL istemcinizde çalıştırın.
Sözdizimi hatalarını kontrol eder mi?
Hayır. Layout aracıdır, parser-tabanlı linter değil. Bozuk SQL yine biçimlenir ama çıktı yanlış görünebilir.
Trailing vs leading virgül — hangisini kullanmalı?
Takımınızın kullandığı. Trailing daha yaygın; leading DBA'larca tercih edilir çünkü kolon yorumlamak dangling virgül bırakmaz.
Çoklu statement script biçimlendirebilir miyim?
Evet — noktalı virgülle ayrılmış statement'lar bağımsız biçimlendirilir, aralarına boş satır konur.
SQL'im sunucuya gidiyor mu?
Hayır. Tamamen tarayıcınızda. Network sekmesinde doğrulayın.
Stored procedure ve trigger biçimlendirir mi?
Yapısal kısımları için evet (BEGIN/END blokları, kontrol akışı). T-SQL ve PL/SQL'in lehçe-spesifik özellikleri çoktur; biçimlendirici yaygınları işler.
CTE ve recursive query?
Her ikisi de destekleniyor. WITH her CTE kendi satırında; RECURSIVE aynı şekilde.