Cara menggunakan
- Tempel satu atau beberapa pernyataan SQL, atau tekan “Coba contoh”.
- Pilih dialek basis data Anda agar kata kunci, tanda kutip, dan operatornya dikenali.
- Atur kapitalisasi kata kunci dan indentasi. Kueri yang telah diformat akan muncul di sebelah kanan saat Anda mengetik.
- Tekan Minify untuk membuat versi satu baris, lalu salin hasilnya atau unduh sebagai file .sql.
Cara kerja
Pemformatan menggunakan pustaka sql-formatter sumber terbuka. Pustaka ini memecah kueri menjadi token berdasarkan aturan dialek yang Anda pilih, menempatkan setiap klausa utama (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY…) pada baris tersendiri, mengindentasi daftar kolom dan kondisi, serta menerapkan kapitalisasi kata kunci yang Anda pilih. Pemformatan mengubah spasi dan, jika Anda memilihnya, kapitalisasi kata kunci; pengenal, literal string, dan komentar tetap dipertahankan. Memilih dialek yang tepat itu penting: misalnya, tanda backtick mengapit nama di MySQL, tanda kurung siku di SQL Server, dan $$ menandai awal isi fungsi di PostgreSQL.
Pemformat ini adalah alat tata letak, bukan basis data. Alat ini tidak memeriksa keberadaan tabel atau kolom dan tidak memvalidasi seluruh tata bahasa, sehingga beberapa SQL yang tidak valid tetap diformat tanpa peringatan. Jika input tidak dapat dipahami, misalnya karena tanda kurung tidak ditutup, alat ini menampilkan baris dan kolom tempat proses terhenti.
Minify bekerja dengan cara berbeda: semua token dipertahankan, setiap rangkaian spasi diringkas menjadi satu spasi, dan komentar dihapus (petunjuk pengoptimal seperti /*+ INDEX(t) */ dan komentar MySQL /*! … */ tetap dipertahankan karena dapat mengubah perilaku). String, pengenal yang diapit tanda kutip, dan isi yang diapit tanda dolar disalin tanpa perubahan. Jika tanda kutip atau komentar tidak pernah ditutup, Minify akan berhenti dengan kesalahan, alih-alih menebak.
Contoh
Membaca kueri dari log
Log kueri lambat menampilkan satu baris sepanjang 400 karakter. Dengan dialek MySQL dan kata kunci huruf besar, kueri tersebut diubah menjadi blok yang mudah dibaca. Setiap kondisi JOIN dan WHERE berada di baris tersendiri, sehingga indeks yang hilang mudah ditemukan.
Gaya konsisten untuk tinjauan kode
Sebelum melakukan commit, sebuah tim memformat setiap migrasi dengan dialek PostgreSQL, kata kunci huruf kecil, dan indentasi 4 spasi agar perbedaan pada diff hanya menunjukkan perubahan yang sebenarnya.
Menyematkan SQL dalam kode
Minify mengubah kueri laporan berkomentar dan multibaris menjadi satu baris, seperti SELECT id, name FROM users WHERE active = 1 ORDER BY name, yang siap ditempel ke dalam string di skrip.
Pertanyaan yang sering diajukan
Basis data apa saja yang didukung?
Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino/Presto, DuckDB, IBM Db2, SingleStoreDB, TiDB, dan Couchbase N1QL.
Apakah pemformatan akan mengubah fungsi kueri saya?
Seharusnya tidak: hanya spasi dan, jika dipilih, kapitalisasi kata kunci yang berubah. Kapitalisasi kata kunci tidak berpengaruh dalam SQL. Meski begitu, tinjau output yang dihasilkan sebelum menjalankannya pada data produksi, terutama jika menggunakan fitur dialek yang tidak umum.
Mengapa muncul pesan “tidak dapat diformat”?
Tokenizer menemukan sesuatu yang tidak dapat diproses, biasanya tanda kurung atau tanda kutip yang tidak ditutup, atau sintaks dari dialek lain. Periksa baris dan kolom pada pesan, lalu pastikan dialek yang dipilih sesuai dengan basis data Anda.
Apakah SQL saya divalidasi?
Tidak. Alat ini tidak terhubung ke basis data dan tidak mengetahui skema Anda. Kueri dapat diformat tetapi tetap gagal saat dijalankan.
Privasi
SQL Anda diformat di browser menggunakan JavaScript. SQL tidak diunggah, disimpan, atau disertakan dalam analitik, dan alat ini tidak pernah terhubung ke basis data.