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

SQL yang diformat

Cara menggunakan SQL Formatter

  1. Tampal satu atau lebih pernyataan SQL ke dalam kotak input, atau buka fail .sql.
  2. Pilih dialek pangkalan data anda supaya sintaksnya, seperti cast ::, [brackets], backtick atau rentetan $$, dihurai dengan betul.
  3. Tetapkan huruf kata kunci (UPPER, lower atau kekalkan), inden dan bilangan baris kosong antara pernyataan.
  4. Tukar ke Minify untuk membuang komen dan ruang putih bagi log, ORM atau parameter URL.
  5. 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?
Tidak. Pemformatan menggunakan pustaka sumber terbuka sql-formatter yang berjalan dalam pelayar anda. Pertanyaan yang mengandungi nama jadual, data pelanggan atau kelayakan kekal dalam mesin anda.
Adakah pemformatan mengubah apa yang dilakukan oleh pertanyaan?
Tidak. Hanya ruang putih, pemisah baris dan (jika anda pilih) huruf kata kunci yang berubah. Pengecam, literal rentetan dan komen dikekalkan seperti yang ditulis.
Mengapa saya mendapat ralat hurai pada SQL yang sah?
Pertanyaan itu mungkin menggunakan sintaks khusus untuk pangkalan data lain. Pilih dialek yang sepadan, contohnya PostgreSQL untuk cast ::type atau SQL Server untuk nama [bracketed] dan @params.
Bolehkah saya memformat beberapa pernyataan sekali gus?
Ya. Pisahkan pernyataan dengan koma bertitik. Anda boleh memilih berapa banyak baris kosong di antaranya dalam output.
Adakah huruf kata kunci akan mengubah nama lajur saya?
Tidak. Hanya kata kunci terpelihara, jenis data dan fungsi terbina dalam yang ditukar hurufnya. Nama jadual dan lajur mengekalkan ejaan asalnya.

Alat berkaitan