SQL Formatter & Beautifier
Tampal pertanyaan yang bersepah dan dapatkan SQL yang kemas dengan inden yang konsisten. Menyokong 17 dialek, huruf kata kunci dan minifier satu klik, semuanya dalam pelayar anda.
Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik
Cara menggunakan SQL Formatter
- Tampal satu atau lebih pernyataan SQL ke dalam kotak input, atau buka fail
.sql. - Pilih dialek pangkalan data anda supaya sintaksnya, seperti cast
::,[brackets], backtick atau rentetan$$, dihurai dengan betul. - Tetapkan huruf kata kunci (UPPER, lower atau kekalkan), inden dan bilangan baris kosong antara pernyataan.
- Tukar ke Minify untuk membuang komen dan ruang putih bagi log, ORM atau parameter URL.
- Salin hasilnya atau muat turunnya sebagai fail
.sql.
Mengapa format SQL?
Pertanyaan yang disalin daripada log ORM, pelan pertanyaan atau kod aplikasi biasanya tiba sebagai satu baris panjang. Meletakkan setiap klausa (SELECT, FROM, JOIN, WHERE, GROUP BY) pada barisnya sendiri dan menginden lajur serta syarat menjadikan logiknya mudah dibaca. Ia juga mengecilkan diff semakan kod dan membantu anda mengesan syarat join yang hilang atau OR yang salah tempat.
Konvensyen gaya SQL
- Kata kunci huruf besar (
SELECT,WHERE) memisahkan sintaks SQL daripada nama jadual dan lajur. Kebanyakan panduan gaya mengesyorkan ini, walaupun huruf kecil popular dalam pasukan dbt dan analitik. - Satu lajur setiap baris menjadikan penambahan atau pembuangan lajur sebagai diff satu baris.
- Inden yang konsisten (2 atau 4 ruang) di dalam klausa dan subquery menunjukkan struktur bersarang sekilas pandang.
- Penamat pernyataan: akhiri setiap pernyataan dengan
;supaya skrip berbilang pernyataan tidak taksa.
Dialek SQL yang disokong
Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore dan TiDB. Jika pertanyaan gagal dihurai, cuba dialek yang lebih khusus: @variables, parameter $1 dan operator khusus vendor hanya dikenali dalam dialek masing-masing.
Apa yang dilakukan oleh minifier
Mod minify membuang komen --, # dan /* */, meruntuhkan ruang putih dan pemisah baris kepada satu ruang, dan membuang ruang di sekeliling koma dan kurungan. Literal rentetan dan pengecam berpetikan ('…', "…", `…`, […], $$…$$) disalin bait demi bait, jadi maksud pertanyaan tidak pernah berubah.
Soalan lazim
Adakah SQL saya dihantar ke pelayan?
Adakah pemformatan mengubah apa yang dilakukan oleh pertanyaan?
Mengapa saya mendapat ralat hurai pada SQL yang sah?
::type atau SQL Server untuk nama [bracketed] dan @params.