İçeriğe geç
Muslu Yüksektepe

SQL_Parse

Tek satırlık ya da düzensiz SQL sorgularını otomatik girintileyip okunur hâle getiren küçük bir Python aracı.

SQL_Parse, tek satıra yazılmış SQL sorgularını okunabilir biçimde girintilemek için 2016 yılında yazdığım kısa bir Python örneği. Depoda tek bir dosya var ve işi sqlparse kütüphanesi yapıyor.

Amaç

Uygulama kodunun içinde ya da log kayıtlarında geçen SQL sorguları çoğu zaman tek bir uzun satır hâlinde duruyor. Birkaç tabloyu birleştiren ve çok sayıda koşul içeren bir sorguyu bu hâliyle okumak ve hatasını bulmak zor. Bu örneği, bir sorguyu Python içinden düzgün girintili ve anahtar kelimeleri büyük harfli bir hâle getirmenin en kısa yolunu not etmek için yazdım. Aynı gün hazırladığım HTML, CSS, JavaScript, XML ve JSON girintileme örnekleriyle birlikte küçük bir dizinin parçası.

Nasıl çalışır

Betikte örnek olarak üç kolon seçen ve tek bir koşul içeren basit bir select sorgusu tanımlı. Bu sorgu, sqlparse kütüphanesinin format fonksiyonuna iki ayarla veriliyor. reindent=True ayarı sorguyu yeniden girintileyip her bölümü kendi satırına alıyor. keyword_case='upper' ayarı ise select, from ve where gibi SQL anahtar kelimelerini büyük harfe çeviriyor. Sonuç doğrudan ekrana yazılıyor.

Öne çıkan özellikler

  • Sorgunun bölümlerini ayrı satırlara alarak yapısını görünür kılıyor.
  • Anahtar kelimeleri büyük harfe çevirerek sorgu ile tablo ve kolon adlarını birbirinden ayırıyor.
  • Sorguyu çalıştırmıyor, yalnızca metin olarak biçimlendiriyor; bu yüzden veritabanı bağlantısı gerektirmiyor.

Teknik altyapı

Kod Python ile yazıldı ve tek dış bağımlılığı sqlparse kütüphanesi. Örnek, print ifadesinin parantezsiz kullanıldığı Python 2 sözdizimiyle yazılmış.

Durum

Bu bir not niteliğinde örnek ve 2016'dan bu yana güncellenmedi. Python 3 ile çalıştırmak için print satırını fonksiyon çağrısı biçimine çevirmek yeterli.

Kullanım alanları

  • Log kayıtlarından alınan uzun bir sorguyu incelemeden önce okunur hâle getirmek için kullanılabilir.
  • Kod içinde üretilen sorguları belgeye ya da hata kaydına eklerken düzgün biçimde göstermek için işe yarar.
  • Başka bir Python aracına SQL biçimlendirme eklerken başlangıç noktası olabilir.
Kategori
Geliştirici araçları
Yıl
2016

Teknolojiler

  • Python
  • SQL

Bağlantılar

  • GitHub https://github.com/muslu/SQL_Parse

Tüm projelere dön