SQL formatlayıcı/gözəlləşdirici
SQL formatlayıcı/gözəlləşdirici SQL kodunu daha oxunaqlı və ardıcıl tərtib olunmuş formaya salan pulsuz alətdir.
SQL formatlama nəyi dəyişir?
SQL formatlama sorğunun görünüşünü dəyişərək onun bəndlərini, ifadələrini və iç-içə strukturlarını daha rahat izləməyə imkan verir. Adətən SELECT siyahıları, JOIN bəndləri, WHERE şərtləri, alt sorğular və CASE ifadələri kimi elementlərə sətir keçidləri və girintilər əlavə olunur.
Formatlama sorğunun nəzərdə tutulan nəticəsini dəyişməməlidir. Lakin SQL dialektləri fərqlənir və təkcə formatlama əmrin mənasının qorunduğunu sübut etmir. Yaradılmış SQL kodunu istehsal məlumatları üzərində işə salmazdan əvvəl yoxla. Xüsusilə sorğuda müəyyən verilənlər bazası istehsalçısına məxsus operatorlar, prosedur genişləndirmələri və ya qeyri-adi dırnaq qaydaları varsa, diqqətli ol.
Formatlayıcı başqa şəxslərin yazdığı sorğuları oxuyarkən, avtomatik yaradılmış SQL kodunu nəzərdən keçirərkən, uzun əmrdə xəta axtararkən və ya kodu pull request üçün hazırlayarkən faydalıdır. Ardıcıl tərtibat əlaqəsiz boşluq fərqlərini azaltdığı üçün dəyişiklikləri müqayisə etməyi də asanlaşdırır.
SQL formatlayıcıdan necə istifadə edim?
Əmri SQL sahəsinə daxil et və ya yapışdır, sonra formatlanmış versiyanı Beautified SQL sahəsində almaq üçün göndər. Daxil etdiyin məlumat emal üçün HTTPS vasitəsilə serverə göndərilir və saxlanılmır.
- Saxlamaq istədiyin bütün ümumi cədvəl ifadələri ilə birlikdə əmrin tam mətnini köçür. Nəticədə şərhləri və varsa sondakı nöqtəli vergülü yoxla.
- Mümkün olduqda ayrı-ayrı fraqmentləri deyil, tam əmri SQL sahəsinə daxil et.
- Nəticəni Beautified SQL sahəsində oxu, iç-içə ifadələrə və konkret dialektə aid sintaksisə xüsusi diqqət yetir.
- Formatlanmış əmri istifadəyə verməzdən əvvəl uyğun inkişaf və ya sınaq mühitində işə sal.
Həssas verilənlər bazası ilə işləyərkən sorğu mətnini server əsaslı hər hansı alətə göndərməzdən əvvəl təşkilatının qaydalarını yoxla. Sorğunu başa düşmək üçün lazım deyilsə, parolları, giriş tokenlərini, fərdi məlumatları və məxfi literal dəyərləri sil.
Gözəlləşdirilmiş SQL kodunu necə oxuyum?
Nəticəni oxuyarkən yeni tərtibatı əmrin düzgünlüyünün sübutu sayma, girintiləri və bəndlərin sərhədlərini izlə. Hər məntiqi hissə ayrıca sətirdə və ya girinti səviyyəsində göstərildikdə əsas SELECT, FROM, WHERE, GROUP BY və ORDER BY bəndlərini ayırd etmək adətən daha asan olur.
- Girintili alt sorğular daxili nəticənin xarici əmrin hansı hissəsində istifadə olunduğunu göstərir.
- Düzülmüş şərtlər AND və OR prioritetini yoxlamağı asanlaşdırır. Bununla belə, standart olaraq AND operatordan OR-dan daha yüksək prioritetə malikdir, məntiqi qruplaşdırmanı isə yenə mötərizələr müəyyənləşdirir.
- Ayrı göstərilən JOIN bəndləri hər ON şərtinin hansı cədvələ aid olduğunu üzə çıxarmağa kömək edir.
- Genişləndirilmiş SELECT siyahıları çatışmayan vergülləri, təkrarlanan sütunları və qeyri-müəyyən aliasları görməyi asanlaşdırır.
- Aydın görünən CASE budaqları WHEN, THEN, ELSE və END açar sözlərini uyğunlaşdırmağa kömək edir.
Dırnaq içindəki sətirlər, rəqəmlər, durğu işarələri və şərhlər SQL-də məna daşıyır. Buna görə də onları sadəcə görünüş elementi sayma, ayrıca yoxla. Verilənlər bazasından və istifadə etdiyi simvol kodlaşdırmasından asılı olaraq aksentli və ya latın əlifbasına aid olmayan simvollar sətir literallarında və dırnaq içindəki identifikatorlarda etibarlı ola bilər.
Kiçik formatlama nümunələri
Bu yığcam giriş nümunəsinə bax.
Giriş: SELECT id,name FROM customers WHERE active=1 ORDER BY name;
Oxunaqlı formatlanmış versiya belə görünə bilər.
Nəticə: SELECT id, name
FROM customers
WHERE active = 1
ORDER BY name;
JOIN olan sorğuda girintinin faydası daha çox görünür.
Giriş: SELECT o.id,c.name FROM orders o JOIN customers c ON c.id=o.customer_id WHERE o.total>100;
Oxunaqlı nəticədə SELECT, FROM, JOIN, ON və WHERE ayrı-ayrı sətirlərdə göstərilə, o.total > 100 müqayisəsi isə saxlanıla bilər. Böyük və kiçik hərflərdən istifadə, boşluqlar və sətir bölgüsü formatlama qaydalarına görə dəyişir. Buna görə bu nümunələri zəmanət verilən vahid üslub kimi deyil, tərtibat nümunəsi kimi qəbul et.
Formatlama SQL xətalarını tapa bilər?
Xeyr. SQL kodunu gözəlləşdirmək onu verilənlər bazasının parseri ilə yoxlamaq demək deyil. Bu alətin təqdim etdiyi nəticə formatlanmış SQL-dir, ona görə də onu sintaksis yoxlayıcısı, sxem yoxlayıcısı və ya icra planlayıcısı kimi qəbul etmək olmaz.
Bununla belə, daha aydın tərtibat yoxlama zamanı ehtimal olunan səhvləri üzə çıxara bilər. SELECT siyahısında çatışmayan vergül, cütü olmayan mötərizə, bağlanmamış dırnaq içi sətir, nəzərdə tutulan şərti olmayan JOIN və ya yanlış qruplaşdırılmış AND və OR ifadəsi buna nümunədir. Dırnaqsız identifikator kimi işlədilmiş rezerv sözü də görmək asanlaşa bilər.
Bəzi problemləri hədəf verilənlər bazası olmadan müəyyənləşdirmək mümkün deyil. PostgreSQL tərəfindən qəbul edilən əmr Microsoft SQL Server, MySQL, Oracle Database və ya SQLite üçün dəyişiklik tələb edə bilər. Mövcud olmayan cədvəlləri, naməlum sütunları, uyğunsuz məlumat növlərini və icazə xətalarını aşkarlamaq üçün adətən verilənlər bazası mühərriki və ya müvafiq dialekti tanıyan proqramlaşdırma aləti lazımdır.
SQL kodunu hansı hallarda formatlamağa dəyməz?
SQL kodu artıq ardıcıl şəkildə tərtib olunubsa və ya onu yalnız maşın emal edəcəksə, formatlama adətən lazım deyil. Avtomatik yaradılmış sorğuların yenidən formatlanması həmin sorğunu yaradan generatoru yaxşılaşdırmadan versiyalara nəzarət sistemində çoxlu lazımsız dəyişiklik yarada bilər.
Aşağıdakı hallarda formatlama uyğun addım olmaya bilər:
- Miqrasiya faylı imzalanıb, onun yoxlama cəmi hesablanıb və ya fayl başqa üsulla bayt-bayt müqayisə olunur.
- Minimallaşdırılmış və ya yığcam sorğu ölçüyə həssas artefakta yerləşdirilib və onu heç kimin nəzərdən keçirməsinə ehtiyac yoxdur.
- Hazırkı məqsəd oxunaqlılıq deyil, doğrulama, icra planının təhlili və ya performansın optimallaşdırılmasıdır.
- Sorğuda təşkilat qaydalarına əsasən server əsaslı xidmətə göndərilməsi qadağan olunan məxfi dəyərlər var.
Bütün repozitoriyada təkrarlana bilən formatlama üçün müvafiq dialekti tanıyan komanda sətri formatlayıcısı daha uyğun ola bilər, çünki onun konfiqurasiyasını kodla birlikdə repozitoriyaya əlavə etmək mümkündür. SQL saxlayan strukturlaşdırılmış API məlumatlarında ətrafdakı JSON-u yoxlamaq üçün JSON validatoru və gözəlləşdiricisi faydalı ola bilər. SQL kodunun özü isə yenə SQL-ə uyğun şəkildə emal edilməlidir.
Tez-tez verilən suallar
SQL kodunu formatlamaq NULL davranışını dəyişir?
Boşluqlar və girintilər SQL-in üçqiymətli məntiqini və ya NULL davranışını dəyişmir. Bununla belə, column = NULL kimi ifadələri yoxla. Adətən burada IS NULL istifadə edilməlidir və formatlayıcı bu semantik səhvi düzəltməyəcək.
Bir neçə SQL əmrini eyni anda formatlaya bilərəm?
Bir neçə SQL əmrinin eyni anda dəstəkləndiyi sənədləşdirilməyib. Hər əmri ayrıca formatla.
Girişdə şərhləri saxlamaq təhlükəsizdir?
İcra olunan SQL kodunda həssas literal dəyər olmasa belə, şərhlərdə tapşırıq nömrələri, daxili host adları, müştəri məlumatları və ya əməliyyat qeydləri ola bilər. Mətni serverə göndərməzdən əvvəl həm sətir şərhlərini, həm də blok şərhlərini yoxla.
SQL açar sözlərini böyük, yoxsa kiçik hərflə yazmaq lazımdır?
Bir çox verilənlər bazası mühərriki dırnaqsız açar sözlərdə böyük və kiçik hərf fərqini nəzərə almadığı üçün hər iki üslub adətən məqbuldur. Repozitoriyada qəbul edilmiş qaydaya əməl et. Dırnaq içindəki identifikatorlarla isə diqqətli ol, çünki bəzi verilənlər bazaları onların hərf registrini qoruyur və ya fərqləndirir.
Formatlanmış sorğunu işə salmazdan əvvəl nəyi yoxlamalıyam?
Hədəf verilənlər bazasının dialektini təsdiqlə, WHERE və JOIN şərtlərini nəzərdən keçir, UPDATE, DELETE və sxemi dəyişən əmrlər üçün tranzaksiya sərhədlərini yoxla. Riskli sorğuları əvvəlcə inkişaf və ya sınaq verilənlər bazasında, yaxşı olar ki, real şəraiti əks etdirən məlumatlar və uyğun ehtiyat nüsxələri ilə işə sal.
Populyar alətlər
Mətnin ölçüsünü baytlarda (B), kilobaytlarda (KB) və ya meqabaytlarda (MB) əldə edin.
Ping alətimizlə istənilən vebsaytın, serverin və ya portun vəziyyətini və cavab müddətini tez və səmərəli şəkildə yoxlayın.
Digily Link-in IP axtarış aləti istənilən IP ünvanı haqqında ətraflı məlumat təqdim edir. Hərtərəfli IP məlumatı əldə etmək üçün bu pulsuz onlayn xidmətdən istifadə edin.
WhatsApp linkinizi dərhal və pulsuz yaradın. Fərdi mesaj əlavə edin və hesab açmadan və kod yazmadan bir kliklə söhbətə başlayın.