SQL biçimlendirici nasıl kullanılır
- Bir veya daha fazla SQL ifadesini giriş kutusuna yapıştırın.
- Veritabanınıza uyan lehçeyi seçin: standart SQL, MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, MariaDB, BigQuery, Snowflake veya Oracle PL/SQL.
- Anahtar kelimeler için harf biçimini seçin: BÜYÜK HARF, küçük harf veya olduğu gibi bırak.
- Girinti boyutunu ayarlayın.
- 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çe | Tanı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 usersgeçerli bir SQL'dir, ancakiddeğerininametakma adıyla döndürür. Satır başına bir sütunla eksik virgül göze çarpar. WHEREiç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şuluONyan tümcesine taşıyın.- Parantezsiz karışık
ANDveOR.AND,OR'dan daha güçlü bağlanır; bu yüzdena 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 (
idyerineu.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.
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