Tüm araçlar

SQL Formatlayıcı

SQL sorgularını güzelleştir, küçült veya tüm büyük dialect'lerde formatla

Nasıl çalışır

SQL FormatlayıcıSQL sorgularını güzelleştir, küçült veya tüm büyük dialect'lerde formatla. Tüm işlemler tarayıcında yapılır — yükleme yok, üyelik yok, e-posta gerek yok. Sonsuza dek ücretsiz.

Son güncelleme:

SQL Formatlayıcı hakkında

Tek satır halinde gelmiş 500 satırlık bir SQL sorgusunu yapıştırmak, yavaş bir raporu debug etmenin yolu değildir. Bu SQL formatlama aracı her sorguyu tutarlı indent, büyük harfli anahtar kelimeler ve hizalanmış cümleciklerle pretty-print eder; JOIN, WHERE, GROUP BY ve CASE ifadeleri anında okunaklı olur. Popüler IDE eklentilerinin arkasındaki sql-formatter kütüphanesinin aynısı — kurulum yapmadan vurabileceğin bir araç olarak.

En doğru anahtar kelime tanıma için database'inle eşleşen dialect'i seç: Standard SQL, MySQL, PostgreSQL, SQLite, MariaDB, T-SQL (SQL Server), BigQuery, Redshift, Snowflake ve Trino destekleniyor. Dialect önemlidir çünkü her motorun kendine özgü rezerve kelimeleri, identifier quoting tarzı ve built-in fonksiyonları vardır — doğru dialect'le formatlamak CTE adlarını, JSON path ifadelerini ve dialect'e özel anahtar kelimeleri doğru gösterir.

SQL güzelleştirme yalnızca whitespace ve case düzenler. Identifier'lar, literal'ler, yorumlar ve sorgunun gerçek semantiği birebir korunur — yani formatlanmış çıktı orijinaliyle aynı sonucu üretir. Her şey tarayıcında lokal çalıştığı için, sorgu (genellikle gerçek schema adları, ID'ler ve iş mantığı içerir) network'ü hiç geçmez.

SQL Formatlayıcı nasıl kullanılır

  1. SQL sorgunu (tek satır veya çok satır) input kutusuna yapıştır.
  2. Database'inle eşleşen Dialect'i seç — anahtar kelime ve identifier işleme doğruluğu için.
  3. Indent'i takım stiline göre ayarla (2 veya 4 boşluk tipik).
  4. Style guide'ın SELECT, FROM, JOIN'i büyük harfle yazıyorsa "Büyük harfli keyword"u aç.
  5. Format'a bas — okunaklı düzen; veya Minify ile sorguyu kod içinde gömmek için tek satıra indir.
  6. Sonucu editörüne, migration script'ine veya pull request review'una kopyala.

Yaygın kullanım senaryoları

  • Bir log girdisinde veya JSON API yanıtında tek satır olarak gelmiş bir sorguyu temizlemek.
  • Code review'da SQL'i standartlaştırmak; reviewer formatlama gürültüsü değil, asıl mantık değişikliğini görsün.
  • Otomatik üretilmiş ORM SQL'ini insanın performans için debug edebileceği hale çevirmek.
  • Uygulama kodunda string literal olarak gömmeden önce sorguyu minify etmek, debug ederken geri formatlamak.
  • Bir runbook veya incident postmortem için okunaklı EXPLAIN hedef sorguları üretmek.

İpuçları ve dikkat edilmesi gerekenler

  • "QUALIFY" veya "PIVOT" gibi anahtar kelimeler büyük harf olmuyorsa, muhtemelen yanlış dialect seçtin — bunlar yalnızca BigQuery / Snowflake / T-SQL'de keyword olarak tanınır.
  • Sondaki noktalı virgüller ve yorumlar korunur. Aşağı akış aracı kabul etmiyorsa formatlamadan sonra çıkar.
  • Formatlama syntax hatasını düzeltemez. Bir sorgu formatlanmıyorsa, eksik parantez veya virgülü bulmak için önce DB'nin parser'ından geçir.
  • Çok uzun sorgular için anahtar kelimeler hizalı kaldığında ve cömert indent (4 boşluk) yaptığında format daha faydalıdır — bir sorgu artık tek ekrana sığmıyorsa okunabilirlik kompaktlığa galip gelir.

Sıkça sorulan sorular

Hangi SQL dialect'leri destekleniyor?

Standart SQL'in yanı sıra MySQL, PostgreSQL, SQLite, MariaDB, T-SQL (SQL Server), BigQuery, Redshift, Snowflake ve Trino. En doğru anahtar kelime/tanımlayıcı işleme için doğru dialect'i seç.

Sorgum sunucunuza gönderiliyor mu?

Hayır. Formatlama sql-formatter kütüphanesi ile tarayıcıda çalışır. Sorgu cihazından çıkmaz.

Sorgumun anlamını değiştirir mi?

Hayır — yalnızca whitespace ve case düzenler. SQL semantiği, tanımlayıcılar ve string literal'ler birebir korunur.

PostgreSQL JSON operatörleri veya BigQuery STRUCT literal gibi dialect'e özgü syntax'ı formatlayabilir miyim?

Evet — eşleşen dialect'i seç; ->>, #>>, [].* ve STRUCT(...) gibi operatörler anlamlarını korur. Formatlama yalnızca whitespace'i yeniden hizalar; operatör veya tip yeniden yazmaz.

Formatter SQL'in doğru olduğunu doğruluyor mu?

Sadece gevşek şekilde. Cümleciklerin başını/sonunu bilecek kadar parse eder ama tam bir SQL parser değildir — geçersiz sorgular yine "formatlanmış" görünebilir. Gerçek doğrulama için database'inin EXPLAIN veya dry-run özelliğini kullan.

Minify benim el yazımı tek satırlı sorgumdan daha kısa çıktı verir mi?

Genelde evet — gereksiz whitespace'i çıkarır, virgülleri normalize eder ve boş satırları kaldırır; ama yorumları sen silmedikçe korur. Sorguyu kodda tek satırlı string olarak vermen gerektiğinde işe yarar.

İlgili araçlar