SQL Biçimlendirici

Bir SQL sorgusunu okuyabileceğiniz biçimde girintileyin, tamamen tarayıcınızda. Hiçbir şey çalıştırılmaz ve hiçbir veritabanına bağlanılmaz.

Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.

Tek uzun satır hâlinde gelmiş bir sorguyu yapıştırın ve düzgünce okuyun. Biçimlendirme tarayıcınızda yapılır: ifade, tablo adları ve WHERE yan tümcesindeki değer ne olursa olsun bilgisayarınızdan hiç çıkmaz.

Nasıl çalışır

İfade parçalara bölünür (dizeler, yorumlar, tırnak içindeki adlar, sayılar, sözcükler, operatörler) ve ardından bu diziden belirlenen satır sonları ve girintiyle yeniden yazılır. Yan tümceler yeni satırda başlar, koşullar ait oldukları yan tümcenin altında hizalanır ve bir alt sorgu kendi parantezlerinin içinde girintilenir.

Her parça tam olarak geldiği gibi yeniden yazılır. Yalnızca aralarındaki boşluklar ve aracın tanıdığı sözcüklerin harf büyüklüğü değişebilir; bu da çıkan ifadenin giren ifadeyle aynı olduğu anlamına gelir. Bu özelliği göz kontrolüne bırakmak yerine testler doğrular.

Kendi başına bir ifade içeren bir parantez birkaç satıra bölünür; bir fonksiyon çağrısı, bir IN listesi ya da yalnızca bir ifadeyi gruplayan bir parantez tek satırda kalır, çünkü bunları bölmek sorguyu daha net değil, yalnızca daha uzun yapar.

Örnekler

Durum Girdi Sonuç
Tek satırlık bir sorgu select id, name from users where active = 1 order by name SELECT id, name FROM users WHERE active = 1 ORDER BY name

Sık sorulan sorular

Sorgum bir yere gönderiliyor mu?

Hayır. Biçimlendirici, bu sayfada çalışan JavaScript'tir. Hiçbir şey yüklenmez, kaydedilmez ya da saklanmaz: internet bağlantınızı kesseniz bile araç çalışmaya devam eder.

SQL'imin geçerli olup olmadığını kontrol ediyor mu?

Hayır, bunu açıkça belirtmek gerekir. Yaptığı şey boşlukları yeniden düzenlemektir. Şeması, lehçe dilbilgisi ya da veritabanı yoktur; bu yüzden hiçbir sunucunun kabul etmeyeceği bir ifadeyi de gönül rahatlığıyla girintiler. Reddettiği tek şey kapanmamış bir dize ya da yorumdur, çünkü bu, kodu metinden ayırt etmesini engeller.

Hangi SQL lehçesini anlıyor?

En yaygın lehçelerin tırnak stillerini tanır (dizeler için tek tırnak; adlar için çift tırnak, ters tırnak ya da köşeli parantez); bu yüzden MySQL, PostgreSQL, SQLite ya da SQL Server sorgularını bozmaz. Lehçenin dilbilgisini kontrol etmez, çünkü ayrıştırma yapmaz.

Ters eğik çizgi seçeneği ne işe yarar?

MySQL, bir dize içindeki ters eğik çizgiyi kaçış karakteri olarak ele alır; bu yüzden 'it\'s' tek bir dizedir. Standart SQL (ve PostgreSQL, SQLite, SQL Server ve Oracle) bunu yapmaz; orada aynı metin bir dize ve ardından gelen başka bir şeydir. Bunu yalnızca sorguya bakarak bilmenin yolu yoktur ve tahmin etmek lehçelerden birini bozardı; bu yüzden bir açma/kapama seçeneğidir. MySQL ile çalışmıyorsanız kapalı bırakın.

Sütun adımın harf büyüklüğü neden değişti?

Çünkü bir anahtar sözcükle aynı yazılıyor. Harf büyüklüğü seçeneği aracın tanıdığı sözcüklere uygulanır ve “key” adlı bir sütunu anahtar sözcükten ayırt edemez. TABLE, INTO, FROM, JOIN ya da UPDATE sözcüklerinden hemen sonra gelen adlar olduğu gibi bırakılır, çünkü bir adın harf büyüklüğünün gerçekten önemli olabileceği konumlar bunlardır. Hiçbir şeyin değişmemesini istiyorsanız anahtar sözcük seçeneğini “Yazıldığı gibi bırak” olarak ayarlayın ya da adı tırnak içine alın.

Bilmekte fayda var

  • Bu sayfadaki hiçbir şey SQL çalıştırmaz ya da bir veritabanına bağlanmaz. İfade bir metindir ve metin olarak ele alınır.
  • Düzen deterministiktir: aynı seçeneklerle aynı ifade her zaman aynı çıktıyı verir ve zaten biçimlendirilmiş bir ifadeyi biçimlendirmek hiçbir şeyi değiştirmez.
  • CASE ifadelerinin, join'lerin, alt sorguların ve CREATE TABLE sütun listelerinin her birinin kendi kuralı vardır. Kuralların kapsamadığı her şey, tahmin edilmek yerine denk geldiği satırda bırakılır.

Tüm Kod araçları