SQL terkenal karena ditulis sekali dengan tergesa-gesa dan dibaca berkali-kali di bawah tekanan. Format yang konsisten adalah salah satu cara termurah untuk membuat kueri dapat ditinjau, di-debug, dan dibagikan. Panduan ini membahas mengapa pemformatan itu penting, aturan di balik kapitalisasi kata kunci, dan kapan harus menggunakan minify.
Kueri yang dapat dibaca menghasilkan tinjauan kode yang lebih baik
Kueri yang dimasukkan ke dalam satu baris menyembunyikan strukturnya sendiri. Ketika setiap klausa — SELECT, FROM, masing-masing JOIN, WHERE, KELOMPOK OLEH — dimulai pada barisnya sendiri, reviewer dapat melihat sekilas tabel mana yang digabungkan, pada kunci apa, dan filter mana yang berlaku. Mengindentasi daftar pilihan dan kondisi penggabungan menambahkan struktur lapisan kedua: Anda dapat memindai kolom tanpa menguraikan keseluruhan pernyataan. Hasilnya adalah lebih sedikit bug yang terlewat (kondisi join yang terlupakan terlihat jelas ketika ON berada pada baris yang menjorok ke dalam) dan peninjauan yang lebih cepat. Pemformat ini dimaksudkan hanya untuk mengubah spasi putih dan huruf besar/kecil kata kunci yang dikenali, namun ini merupakan upaya terbaik dalam pemrosesan teks dibandingkan parser SQL, jadi tinjau hasilnya dan validasi kueri penting dengan peralatan database Anda.
Konvensi casing kata kunci
Konvensi lama adalah menulis kata kunci SQL dalam HURUF BESAR dan pengidentifikasi (tabel, kolom, alias) dalam huruf kecil atau campuran. Kontrasnya membuat perancah bahasa muncul dari skema Anda. Beberapa tim lebih memilih SQL yang semuanya menggunakan huruf kecil untuk tampilan yang lebih lembut, dan beberapa menggunakan kata kunci dengan huruf kapital. Tidak ada satu pilihan pun yang benar — yang penting adalah konsistensi di seluruh basis kode, itulah sebabnya pemformat yang menerapkan satu aturan di mana pun akan sangat berguna. Alat ini hanya memproses ulang kata kunci yang dikenali; nama tabel dan kolom Anda tetap menggunakan huruf besar apa pun yang sudah ada, dan apa pun di dalam literal string atau komentar tidak pernah diubah.
Kapan harus memperkecil
Memperkecil — menciutkan kueri menjadi satu baris — merupakan kebalikan dari mempercantik, dan hal ini ada tempatnya. Ketika kueri harus berada di dalam kode sumber aplikasi sebagai konstanta string, di dalam nilai konfigurasi JSON atau YAML, atau dalam satu baris shell, jeda baris akan menghalangi. Minify menghapus pemformatan spasi sambil menjaga konten string-literal tetap utuh. Itu juga menghilangkan komentar, karena komentar satu baris (--) akan mengomentari semuanya setelahnya; tinjau hasilnya dan validasi kueri penting dengan peralatan database Anda daripada berasumsi setiap masukan tidak berubah secara semantik. Jika Anda memerlukan versi yang dapat dibaca kembali, cukup tempelkan kueri yang telah diperkecil ke tab Percantik.
Pemformat bukanlah validator
Perlu diperjelas batasannya. Alat ini memformat teks — alat ini tidak terhubung ke database, tidak menjalankan kueri Anda, atau memeriksa apakah itu adalah SQL yang valid. Jika Anda menempelkan sesuatu yang tidak dapat diurai sepenuhnya, penspasian upaya terbaik akan tetap diterapkan dan menandai keluaran sebagai format parsial, bukan gagal. Hal ini membuatnya aman dan cepat untuk penggunaan sehari-hari, namun Anda tetap harus menjalankan kueri terhadap database nyata (atau linter) untuk mengonfirmasi kebenarannya. Anggaplah pemformatan sebagai langkah pertama dan termurah dalam menulis SQL yang bersih, bukan langkah terakhir untuk mengetahui apakah pemformatan berhasil.