Fungsinya
Formatter SQL mengubah kueri panjang satu baris menjadi kueri yang mudah dibaca dengan indentasi konsisten. Setiap klausa (SELECT, FROM, WHERE, GROUP BY, ORDER BY) dimulai di barisnya sendiri, kolom dan kondisi yang dipilih dicantumkan satu per baris, join disejajarkan di bawah tabel yang di-join, dan subkueri diindentasi di dalam tanda kurungnya.
SQL yang sudah diformat lebih mudah direview di pull request, di-debug saat kueri mengembalikan baris yang salah, dan ditempel ke dokumentasi. Ini juga membantu saat Anda menyalin kueri dari log ORM atau pesan error aplikasi, yang semuanya ada di satu baris.
Cara menggunakan
- Tempel satu atau beberapa pernyataan SQL ke kotak Input, letakkan file
.sqldi atasnya, atau klik Contoh. - Pilih Dialek database Anda.
- Atur Kata kunci menjadi HURUF BESAR, huruf kecil, atau sesuai ketikan. Nama fungsi seperti
COUNTmengikuti pengaturan yang sama. - Pilih 2 spasi, 4 spasi, atau tab untuk Indentasi.
- Salin hasilnya atau unduh sebagai file
.sql. Pintasan: Ctrl/Cmd+Enter memformat, Ctrl/Cmd+Shift+C menyalin.
Beberapa pernyataan yang dipisahkan titik koma tetap terpisah dengan satu baris kosong. Komentar tetap di tempatnya.
Contoh
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id
menjadi
SELECT
u.id,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
u.id
Tips
Kata kunci huruf besar membuat klausa menonjol dibanding nama tabel dan kolom, dan ini adalah konvensi tim yang paling umum. Jika tim Anda menulis SQL dengan huruf kecil, pilih huruf kecil dan seluruh kueri akan seragam. Jika formatter melaporkan token yang tidak terduga, periksa apakah dialeknya sudah benar: misalnya, nama yang dikutip dengan backtick valid di MySQL tetapi tidak di SQL standar.
FAQ
› Apakah SQL saya dikirim ke server?
Tidak. Formatter berjalan di browser Anda, jadi kueri yang mengungkap nama tabel, data pelanggan, atau logika bisnis tetap berada di perangkat Anda.
› Dialek SQL apa saja yang didukung?
SQL standar, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift, dan Spark SQL. Memilih dialek yang tepat membantu menangani sintaks khusus dialek seperti identifier berbacktick, cast ::, atau nama dalam kurung siku.
› Apakah pemformatan mengubah apa yang dilakukan kueri?
Tidak. Hanya whitespace dan, jika Anda memilihnya, huruf besar/kecil kata kunci dan nama fungsi yang berubah. Identifier, literal string, dan komentar dipertahankan persis seperti yang ditulis.
› Mengapa saya mendapat "Unexpected end of input"?
Biasanya ada kurung atau tanda kutip yang tidak ditutup. Error menunjuk ke akhir kueri; cari ( atau ' pembuka terakhir yang tidak punya pasangan.