Format SQL
SQL formatter menaruh setiap klausa utama di barisnya sendiri. Contohnya, "select a from t where x=1" menjadi 3 baris: "SELECT a", "FROM t", "WHERE x = 1".
Cara memakai
- Tempel SQL Anda di kotak input. Contoh query sudah dimuat untuk menunjukkan hasilnya.
- Pilih apakah kata kunci ditulis huruf besar, huruf kecil, atau dibiarkan seperti diketik, lalu pilih indentasi 2 spasi, 4 spasi, atau tab.
- Salin query yang sudah rapi dari kotak hasil. Hasil diperbarui saat Anda mengetik, dan beberapa pernyataan yang dipisah titik koma bisa dirapikan sekaligus.
Cara menghitung
Alat ini memecah SQL menjadi token: kata, angka, string berkutip, identifier berkutip, komentar, operator, dan kurung. Isi di dalam kutip dan komentar tidak pernah diubah.
Klausa utama seperti SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, LIMIT, UNION, INSERT INTO, VALUES, UPDATE, SET, dan setiap JOIN dimulai di baris baru. Jika daftar SELECT atau SET berisi lebih dari satu item, setiap item mendapat baris berindentasi sendiri. AND dan OR di dalam WHERE, HAVING, atau ON diindentasi di bawah klausanya, kecuali AND pada BETWEEN x AND y.
Kurung yang membuka subquery memulai blok berindentasi baru, dan kurung tutup kembali ke indentasi semula. Ekspresi CASE menaruh setiap WHEN dan ELSE di barisnya sendiri. Pemanggilan fungsi membiarkan kurung menempel pada nama, jadi COUNT(*) tetap utuh.
Kata kunci dan nama fungsi umum diubah ke huruf yang Anda pilih. Nama tabel dan kolom dibiarkan seperti ditulis, tetapi kolom yang namanya sama dengan kata kunci (misalnya key atau index) ikut diubah. Alat ini tidak memeriksa validitas SQL dan tidak mengikuti satu dialek, jadi sintaks yang jarang dipakai bisa diberi spasi sedikit berbeda.
Yang memulai baris baru
| Elemen | Tata letak |
|---|---|
| SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, LIMIT | Baris baru pada indentasi saat ini |
| JOIN, LEFT JOIN, INNER JOIN, dan join lain | Baris baru, kondisi setelah ON tetap sebaris |
| AND, OR di WHERE, HAVING, ON | Baris baru, satu tingkat lebih dalam |
| Daftar SELECT dengan 2 item atau lebih | Satu item per baris |
| Subquery dalam kurung | Blok berindentasi |
| CASE ... WHEN ... END | Satu WHEN per baris |
| Titik koma | Baris kosong sebelum pernyataan berikutnya |
Pertanyaan umum
Apakah perilaku query saya berubah?
Tidak. Yang berubah hanya spasi, baris baru, dan huruf kata kunci. String, komentar, dan identifier berkutip tetap persis sama. Jalankan query hasil format bila ingin memastikan.
Database apa saja yang didukung?
Tidak terikat satu dialek. Query gaya SQL standar, MySQL, PostgreSQL, dan SQLite bisa ditangani, termasuk backtick, nama berkutip ganda, cast ::, serta placeholder $1 atau :name. Blok khusus vendor seperti isi stored procedure mungkin tidak tertata rapi.
Kenapa item SELECT tunggal tetap satu baris?
Jika daftarnya hanya satu item, baris baru tidak menambah keterbacaan. Dengan dua item atau lebih, setiap item mendapat baris sendiri.
Apa arti peringatan belum ditutup?
Ada tanda kutip atau komentar blok yang dibuka tetapi tidak ditutup. Semua teks setelahnya dianggap bagian dari string atau komentar itu, jadi periksa kutip yang hilang.
Apakah SQL saya dikirim ke suatu tempat?
Tidak. Format dilakukan di browser, jadi query berisi nama tabel atau data tetap di perangkat Anda.