Lompat ke konten
SPCXTools

SQL Formatter

Ubah SQL yang panjang dan berantakan jadi query yang rapi, mudah dibaca, dengan indentasi konsisten.

Berjalan secara lokal — file tidak pernah meninggalkan perangkat Anda

Memuat alat…

Cara menggunakan SQL Formatter

  1. 1Tempel query SQL Anda ke kotak Input, atau klik Sample untuk mencoba contoh.
  2. 2Pilih Dialek SQL Anda agar sintaks khusus database dapat dikenali.
  3. 3Pilih tampilan keyword — UPPER, lower, atau sesuai aslinya — beserta indentasinya.
  4. 4Salin query yang sudah diformat atau unduh sebagai file .sql.

Buat SQL lebih mudah dibaca

Query yang disalin dari log, dihasilkan oleh ORM, atau ditulis terburu-buru sering kali menjadi satu baris panjang yang sulit dibaca dan di-debug. SQL formatter ini memecah query Anda menjadi klausa yang jelas — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY — menempatkan setiap kolom dan kondisi di barisnya sendiri, serta memberikan indentasi yang konsisten pada subquery dan ekspresi CASE. Hasilnya jadi lebih mudah ditinjau, dibandingkan di version control, dan dibagikan ke rekan kerja.

Fitur

  • 12 dialek SQL, mulai dari SQL standar hingga MySQL, PostgreSQL, SQL Server, Oracle, BigQuery, dan Snowflake.
  • Kapitalisasi kata kunci: UPPER, lower, atau persis seperti aslinya; berlaku untuk kata kunci, tipe data, dan fungsi.
  • Indentasi dengan 2 spasi, 4 spasi, atau tab.
  • Beberapa statement yang dipisahkan dengan titik koma.
  • Mempertahankan komentar — baik komentar baris -- maupun komentar blok /* */.
  • Salin atau unduh hasilnya sebagai file .sql.
  • Privat: formatter berjalan secara lokal di browser Anda.

Sebelum dan sesudah

Query seperti ini:

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;

menjadi:

SELECT
  u.id,
  u.name,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.status = 'active'
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC;

Tips gaya penulisan SQL

  • Satu klausa per baris. Memulai setiap klausa utama pada baris baru membuat struktur query terlihat jelas sekilas.
  • Gunakan alias yang bermakna. Alias pendek seperti u dan o tidak masalah untuk query kecil, tetapi alias yang deskriptif sangat membantu dalam laporan yang panjang.
  • Perjelas nama kolom saat join (orders.user_id alih-alih user_id) untuk menghindari ambiguitas.
  • Jaga konsistensi format di seluruh proyek agar diff menampilkan perubahan nyata, bukan sekadar spasi kosong.

Alat terkait

Bekerja dengan hasil query? Konversi data ekspor dengan CSV ke JSON, rapikan format respons API dengan JSON Formatter, atau bandingkan dua versi query dengan Diff Checker.

Pertanyaan yang sering diajukan

Dialek SQL apa saja yang didukung?
Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, dan IBM Db2. Memilih dialek yang tepat sangat penting untuk sintaksis khusus database seperti identifier backtick, kurung siku, string dollar-quoted, atau operator khusus.
Apakah memformat mengubah cara kerja query saya?
Tidak. Formatter hanya mengubah spasi, baris baru, dan jika Anda mau, huruf besar/kecil pada keyword, tipe data, dan nama fungsi. Nama tabel, nama kolom, string, dan komentar tidak akan diubah sama sekali.
Mengapa saya mendapatkan error?
Formatter harus memahami struktur query Anda. Error biasanya terjadi karena salah ketik (typo), tanda kutip atau kurung yang belum ditutup, atau sintaksis dari database lain — coba pilih dialek lain. Placeholder template seperti {{ name }} juga dapat membingungkan parser.
Bisakah saya memformat beberapa statement sekaligus?
Ya. Pisahkan statement dengan titik koma dan masing-masing akan diformat, dengan baris kosong di antaranya.
Apakah SQL saya dikirim ke server?
Tidak. Proses format sepenuhnya dilakukan di browser Anda, sehingga aman untuk memformat query yang berisi nama tabel internal atau data sampel.
Haruskah keyword SQL menggunakan huruf besar?
SQL bersifat case-insensitive untuk keyword, jadi ini hanya masalah gaya penulisan. Keyword huruf besar (SELECT, FROM, WHERE) adalah konvensi tradisional karena membuatnya menonjol dari nama tabel dan kolom, sedangkan banyak tim modern lebih memilih huruf kecil. Pilih salah satu dan gunakan secara konsisten.