SQL Biçimlendirici

RSS

MySQL, PostgreSQL, SQL Server, SQLite, BigQuery ve daha fazlası için uzun, dağınık SQL'i temiz ve girintili sorgulara dönüştürün.

%100 tarayıcınızda çalışır. Yapıştırdığınız hiçbir şey yüklenmez veya saklanmaz.
SQL sorgusu
Biçimlendirilmiş SQL
Hazır.

SQL biçimlendirici nasıl kullanılır

  1. Bir veya daha fazla SQL ifadesini giriş kutusuna yapıştırın.
  2. Veritabanınıza uyan lehçeyi seçin: standart SQL, MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, MariaDB, BigQuery, Snowflake veya Oracle PL/SQL.
  3. Anahtar kelimeler için harf biçimini seçin: BÜYÜK HARF, küçük harf veya olduğu gibi bırak.
  4. Girinti boyutunu ayarlayın.
  5. SQL'i biçimlendir düğmesine tıklayın ve sonucu kopyalayın.

Sorgularınız tarayıcıda biçimlendirilir ve asla yüklenmez veya saklanmaz; bu yüzden tablo adlarını veya iş mantığını ele veren üretim sorgularını yapıştırmak güvenlidir.

SQL neden biçimlendirilir?

SQL boşluklara duyarsızdır: veritabanı tek satırlık bir sorguyu düzgün girintilenmiş bir sorguyla tamamen aynı şekilde çalıştırır. Ancak insanlar bunları çok farklı okur. ORM günlüklerinden, izleme araçlarından veya yavaş sorgu raporlarından kopyalanan sorgular genellikle tek bir uzun satır olarak gelir; bu da hangi koşulların hangi birleştirmeye veya alt sorguya ait olduğunu görmeyi zorlaştırır.

Bir biçimlendirici, her ana yan tümceyi (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) kendi satırına koyar ve iç içe bölümleri tutarlı biçimde girintiler. Karşılaştırın:

select u.id,u.email,count(o.id) as orders from users u left join orders o on o.user_id=u.id where u.created_at>='2026-01-01' group by u.id,u.email having count(o.id)>5 order by orders desc;
SELECT
  u.id,
  u.email,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.created_at >= '2026-01-01'
GROUP BY
  u.id,
  u.email
HAVING
  COUNT(o.id) > 5
ORDER BY
  orders DESC;

Biçimlendirilmiş sürüm bir çekme isteğinde (pull request) incelemesi daha kolaydır, hata ayıklaması daha kolaydır ve daha sonra biri bir sütun veya koşul eklediğinde daha temiz farklar (diff) üretir.

Lehçe neden önemlidir

Her veritabanı standart SQL'i kendi sözdizimiyle genişletir. Doğru lehçeyi seçmek, biçimlendiricinin anahtar kelimeleri, işleçleri ve tanımlayıcı tırnaklamasını doğru tanımasına yardımcı olur:

LehçeTanımlayıcı tırnaklamasıÖzel sözdizimi örnekleri
MySQL / MariaDB`backticks`LIMIT 10, ON DUPLICATE KEY UPDATE
PostgreSQL"double quotes":: dönüşümleri, RETURNING, ILIKE
SQL Server (T-SQL)[brackets]SELECT TOP 10, @variables
BigQuery`backticks`STRUCT, UNNEST, SELECT * içinde EXCEPT
Oracle PL/SQL"double quotes"FETCH FIRST 10 ROWS ONLY, BEGIN … END; blokları

Bir sorgu garip biçimleniyorsa, örneğin bir işleç bölünüyor ya da bir anahtar kelime sütun adı gibi ele alınıyorsa, doğru lehçeye geçmek genellikle sorunu çözer.

Biçimlendirmenin fark etmenize yardımcı olduğu yaygın SQL hataları

Bir biçimlendirici sorgunuzu çalıştırmaz veya tam olarak doğrulamaz, ancak net bir düzen birçok hatayı ortaya çıkarır:

  • Seçim listesinde eksik virgül. SELECT id name FROM users geçerli bir SQL'dir, ancak id değerini name takma adıyla döndürür. Satır başına bir sütunla eksik virgül göze çarpar.
  • WHERE içinde dış birleştirilmiş tablo üzerinde filtre. LEFT JOIN orders o … WHERE o.status = 'paid', dış birleştirmeyi sessizce iç birleştirmeye çevirir. Eşleşmeyen satırları korumak istiyorsanız koşulu ON yan tümcesine taşıyın.
  • Parantezsiz karışık AND ve OR. AND, OR'dan daha güçlü bağlanır; bu yüzden a OR b AND c, a OR (b AND c) anlamına gelir. Amacınızı açıkça belli etmek için parantez ekleyin.
  • Dengesiz parantezler veya tırnaklar. Çıktıdaki girinti birden kayarsa, o noktanın hemen öncesinde kapatılmamış bir parantez veya dize değişmezi arayın.

İpuçları ve en iyi uygulamalar

  • Büyük harfli anahtar kelimeler, SQL sözdizimini tablo ve sütun adlarınızdan ayırdığı için yaygın bir gelenektir; küçük harf de eşit derecede geçerlidir. Her projede birini seçin.
  • Çok tablolu sorgularda tablolara her zaman takma ad verin ve sütun adlarını tablo adıyla niteleyin (id yerine u.id).
  • SQL'i asla kullanıcı girdisini birleştirerek oluşturmayın. SQL enjeksiyonunu önlemek için parametreli sorgular veya hazırlanmış ifadeler kullanın.
  • Zaman damgalarını tamsayı olarak mı saklıyorsunuz? Bir değerin ne anlama geldiğini kontrol etmek için Unix zaman damgası dönüştürücüyü, test birincil anahtarları için UUID oluşturucuyu kullanın.
İpucu: JSON olarak saklanan bir sorgu sonucunu mu biçimlendiriyorsunuz? Onu JSON biçimlendiriciye yapıştırın.

Sıkça sorulan sorular

Biçimlendirme sorgumun yaptığı işi değiştirir mi?

Hayır. Biçimlendirici yalnızca boşlukları, satır sonlarını ve isterseniz anahtar kelimelerin harf biçimini değiştirir. Tanımlayıcılar, dize değişmezleri ve sorgunun mantığı değişmez.

SQL biçimlendirici sorgumun geçerli olup olmadığını denetler mi?

Tam olarak değil. Sorguyu düzenlemek için parçalarına ayırır; bu yüzden ciddi biçimde bozuk girdi tuhaf bir çıktı üretebilir, ancak tabloların veya sütunların var olduğunu ya da ifadenin çalışacağını denetlemez. Bunun için veritabanınızı veya bir EXPLAIN kullanın.

Birkaç ifadeyi aynı anda biçimlendirebilir miyim?

Evet. İfadeleri noktalı virgülle ayırın; her biri sırayla biçimlendirilir.

SQL anahtar kelimeleri büyük harfle mi yazılmalı?

SQL anahtar kelimeleri tüm büyük veritabanlarında büyük/küçük harf duyarsızdır; yani bu tamamen bir stil tercihidir. Büyük harf geleneksel ve belgelerde yaygındır; birçok modern ekip küçük harfi tercih eder. Önemli olan tutarlılıktır.

Güncellendi

Panoya kopyalandı