Cara menggunakan SQL formatter
- Tempel satu atau beberapa pernyataan SQL ke kotak input.
- Pilih dialek yang sesuai dengan database Anda: SQL standar, MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, MariaDB, BigQuery, Snowflake, atau Oracle PL/SQL.
- Pilih huruf kapital keyword: HURUF BESAR, huruf kecil, atau pertahankan seperti yang ditulis.
- Atur ukuran indentasi.
- Klik Format SQL dan salin hasilnya.
Query Anda diformat di browser dan tidak pernah diunggah atau disimpan, sehingga aman menempelkan query produksi yang memperlihatkan nama tabel atau logika bisnis.
Mengapa memformat SQL?
SQL tidak peka terhadap spasi: database menjalankan query satu baris persis sama seperti query yang diindentasi rapi. Namun, manusia membacanya dengan sangat berbeda. Query yang disalin dari log ORM, alat pemantauan, atau laporan query lambat biasanya datang sebagai satu baris panjang, sehingga sulit melihat kondisi mana yang termasuk ke join atau subquery mana.
Formatter menempatkan setiap klausa utama (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) pada barisnya sendiri dan mengindentasi bagian bersarang secara konsisten. Bandingkan:
select u.id,u.email,count(o.id) as orders from users u left join orders o on o.user_id=u.id where u.created_at>='2026-01-01' group by u.id,u.email having count(o.id)>5 order by orders desc;
SELECT
u.id,
u.email,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.created_at >= '2026-01-01'
GROUP BY
u.id,
u.email
HAVING
COUNT(o.id) > 5
ORDER BY
orders DESC;
Versi yang sudah diformat lebih mudah ditinjau dalam pull request, lebih mudah di-debug, dan menghasilkan diff yang lebih bersih ketika seseorang kemudian menambahkan kolom atau kondisi.
Mengapa dialek itu penting
Setiap database memperluas SQL standar dengan sintaksnya sendiri. Memilih dialek yang tepat membantu formatter mengenali keyword, operator, dan penulisan kutipan identifier dengan benar:
| Dialek | Kutipan identifier | Contoh sintaks khusus |
|---|---|---|
| MySQL / MariaDB | `backticks` | LIMIT 10, ON DUPLICATE KEY UPDATE |
| PostgreSQL | "double quotes" | cast ::, RETURNING, ILIKE |
| SQL Server (T-SQL) | [brackets] | SELECT TOP 10, @variables |
| BigQuery | `backticks` | STRUCT, UNNEST, EXCEPT dalam SELECT * |
| Oracle PL/SQL | "double quotes" | FETCH FIRST 10 ROWS ONLY, blok BEGIN … END; |
Jika sebuah query terformat dengan aneh, misalnya operator terpecah atau keyword diperlakukan sebagai nama kolom, beralih ke dialek yang benar biasanya memperbaikinya.
Kesalahan SQL umum yang terlihat berkat pemformatan
Formatter tidak menjalankan atau memvalidasi query Anda sepenuhnya, tetapi tata letak yang jelas membuat banyak bug menjadi kentara:
- Koma yang hilang di daftar select.
SELECT id name FROM usersadalah SQL yang sah, tetapi mengembalikaniddengan aliasname. Dengan satu kolom per baris, koma yang hilang langsung terlihat. - Filter pada tabel yang di-outer join di dalam
WHERE.LEFT JOIN orders o … WHERE o.status = 'paid'diam-diam mengubah outer join menjadi inner join. Pindahkan kondisinya ke klausaONjika Anda ingin mempertahankan baris yang tidak cocok. ANDdanORbercampur tanpa tanda kurung.ANDmengikat lebih kuat daripadaOR, jadia OR b AND cberartia OR (b AND c). Tambahkan tanda kurung agar maksudnya eksplisit.- Tanda kurung atau kutip yang tidak seimbang. Ketika indentasi output tiba-tiba bergeser, cari kurung atau string literal yang belum ditutup tepat sebelum titik itu.
Tips dan praktik terbaik
- Keyword huruf besar adalah konvensi yang umum karena memisahkan sintaks SQL dari nama tabel dan kolom Anda; huruf kecil sama validnya. Pilih satu untuk setiap proyek.
- Selalu beri alias pada tabel dalam query multi-tabel dan sertakan alias tabel pada nama kolom (
u.idalih-alihid). - Jangan pernah membangun SQL dengan menggabungkan input pengguna. Gunakan query berparameter atau prepared statement untuk mencegah SQL injection.
- Menyimpan timestamp sebagai bilangan bulat? Gunakan konverter Unix timestamp untuk memeriksa arti suatu nilai, dan generator UUID untuk primary key pengujian.
Pertanyaan yang sering diajukan
Apakah pemformatan mengubah apa yang dilakukan query saya?
Tidak. Formatter hanya mengubah spasi, jeda baris, dan, jika Anda memilihnya, huruf kapital keyword. Identifier, string literal, dan logika query tidak berubah.
Apakah SQL formatter memeriksa apakah query saya valid?
Tidak sepenuhnya. Formatter memecah query menjadi token untuk menata tampilannya, sehingga input yang sangat rusak bisa menghasilkan output yang aneh, tetapi tidak memeriksa apakah tabel atau kolom ada atau apakah pernyataan itu akan berjalan. Gunakan database Anda atau EXPLAIN untuk itu.
Bisakah saya memformat beberapa pernyataan sekaligus?
Bisa. Pisahkan pernyataan dengan titik koma dan masing-masing akan diformat secara berurutan.
Haruskah keyword SQL ditulis dengan huruf besar?
Keyword SQL tidak peka huruf besar-kecil di semua database utama, jadi ini murni soal gaya. Huruf besar bersifat tradisional dan umum dalam dokumentasi; banyak tim modern lebih suka huruf kecil. Yang penting adalah konsistensi.
Diperbarui