🌐 ID

🗄️ SQL Formatter

Format SQL umum dengan jeda baris per klausa dan indentasi. SQL yang didukung dapat diringkas menjadi satu baris; komentar akan dihapus saat diringkas. Kapitalisasi kata kunci bersifat opsional.

Contoh

Alat ini memformat SQL, tetapi tidak memvalidasinya, tidak mengonfirmasi kompatibilitas khusus basis data, dan tidak memeriksa makna kueri.

SQL hanya diproses di perangkat ini.

PANDUAN

Pelajari lebih lanjut

01

1. Mengapa SQL perlu diformat

SQL satu baris atau yang dihasilkan ORM cepat sulit dibaca saat join makin banyak. Memecahnya ke dalam klausa (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, dan lain-lain) dengan indent yang konsisten membuatnya langsung jelas tabel mana yang bergabung dengan kondisi apa dan filter apa yang dipakai WHERE, sehingga review kode dan debugging jadi lebih cepat.

02

2. Cara kerja alat ini

Formatter membuat baris baru sebelum klausa seperti SELECT, FROM, WHERE, dan JOIN, lalu mengindentasi AND dan OR satu tingkat untuk memisahkan kondisi. Daftar yang dipisahkan koma ditempatkan pada baris terpisah, dan isi dalam tanda kurung mendapat satu tingkat indentasi tambahan. Ini adalah formatter berbasis token, bukan validator SQL atau parser untuk semua dialek. Sintaks yang tidak dapat dipertahankan dengan aman, seperti parameter bernama atau literal khusus vendor, akan menghasilkan kesalahan. Jika itu terjadi, jangan ubah kuerinya. Gunakan kueri asli dalam alat SQL yang mendukung sintaks tersebut.

03

3. Minify dan kapan memakainya

Minify menghapus komentar dan merapikan spasi kosong/pemisah baris yang tidak perlu menjadi satu baris. Berguna untuk mencatat query, mengecilkan ukuran stored procedure/script migrasi, atau menempelkan satu baris ke alat lain. Konten di dalam string literal (nilai dalam tanda kutip) dipertahankan persis, jadi nilai data Anda tidak pernah berubah.

Pertanyaan umum

Apakah mendukung semua dialect SQL (MySQL, PostgreSQL, Oracle, dll.)?
Tidak. Alat ini bukan validator SQL atau parser khusus dialek. Alat ini memformat token SQL umum dan bentuk JOIN, tetapi menampilkan kesalahan ketika sintaks tidak dapat dipertahankan dengan aman, termasuk parameter bernama dan literal khusus vendor. Dalam kasus itu, jangan ubah kuerinya. Gunakan kueri asli dengan database atau alat SQL yang mendukung sintaks tersebut.
Apakah keyword SQL di dalam string juga diubah menjadi huruf besar?
Tidak. String literal yang dibungkus tanda kutip ('...', "...", `...`) dikenali terpisah saat tokenisasi dan dikecualikan dari konversi huruf atau logika pemisah baris.
Apakah query saya dikirim ke server?
Tidak. Baik pemformatan maupun minify berjalan sepenuhnya di browser Anda dan tidak pernah dikirim ke server.
Bisakah saya mengubah lebar indent?
Ya - pilih 2 atau 4 spasi dari dropdown indent.