TanodTools
ID

Format SQL

Tempel query, pilih database Anda, dan dapatkan kembali query yang terindentasi dengan satu klausa per baris.

Berjalan sepenuhnya di browser Anda

Indentasi

Input hingga sekitar 10 MB. Alat ini hanya mengubah tata letak: tidak menjalankan SQL Anda, tidak memeriksanya terhadap skema, dan tidak mengoptimalkannya.

Cara memformat query SQL

  1. Tempel query ke kotak, atau tekan Sisipkan contoh untuk melihat cara kerjanya.
  2. Pilih database Anda di Dialek, lalu atur huruf keyword dan ukuran indentasi.
  3. Query yang sudah diformat muncul di bawah saat Anda mengetik. Salin, atau unduh sebagai file .sql.

Membuat SQL mudah dibaca

Database membaca query dengan cara yang sama baik ditulis dalam satu baris maupun empat puluh baris, karena itu query yang ditempel dari log, ORM, dan alat monitoring sering datang sebagai satu string panjang tanpa jeda. Alat format SQL ini menaruh setiap klausa utama (SELECT, FROM, WHERE, GROUP BY, ORDER BY) di barisnya sendiri dan mengindentasi kolom, kondisi, dan subquery di bawahnya, sehingga Anda bisa melihat bentuk query sekilas dan menemukan kondisi join yang terlewat.

Tata letaknya mengikuti dialek yang Anda pilih, karena kata dan simbol berbeda di setiap database. Cast PostgreSQL seperti price::numeric, parameter bernomor seperti $1, nama dengan backtick di MySQL, klausa CONNECT BY di Oracle, dan TOP 10 di SQL Server semuanya valid di satu dialek dan menjadi error sintaks di dialek lain. Placeholder untuk parameter terikat (?, $1, :name, @name) dikenali dan dibiarkan apa adanya.

Huruf besar/kecil keyword tidak berpengaruh pada cara query berjalan, jadi ini murni soal gaya penulisan. Pemformat yang memahami tata bahasanya bisa mengubahnya dengan aman, karena tahu kata mana yang merupakan keyword dan mana yang nama kolom atau teks di dalam tanda kutip.

Tips

  • Membandingkan query sebelum dan sesudah diubah? Format keduanya dengan pengaturan yang sama dan bandingkan di Bandingkan teks.
  • Query mengembalikan kolom JSON? Tempel nilainya ke Format dan validasi JSON untuk membacanya.
  • Perlu mengganti nama tabel di skrip yang panjang? Cari dan ganti bisa melakukannya sebelum Anda memformat.

Pertanyaan umum

Apakah SQL saya diunggah?

Tidak. Kode pemformat adalah skrip yang disajikan dari situs ini dan dimuat saat pertama kali Anda menempel query; query-nya sendiri tetap di browser Anda dan tidak dikirim ke server mana pun.

Mengapa dialek itu penting?

Setiap database menambahkan sintaksnya sendiri. PostgreSQL punya cast :: dan parameter $1, SQL Server punya nama [dalam kurung siku] dan TOP, MySQL dan MariaDB mengutip nama dengan backtick, dan BigQuery punya bentuk array dan struct sendiri. Memilih dialek yang tepat membuat parser menerima query Anda. Standard SQL adalah pilihan aman jika Anda ragu, tetapi lebih ketat terhadap tambahan khusus vendor.

Mengapa muncul error untuk query yang berjalan lancar di database saya?

Pemformat membaca seluruh pernyataan, bukan sekadar mengatur ulang indentasi baris, jadi tanda kurung atau tanda kutip yang belum ditutup akan menghentikannya, begitu juga sintaks dari dialek lain. Pesan menyebutkan baris dan kolom tempat pemformat berhenti, dan perbaikan yang paling umum adalah memilih dialek yang sesuai.

Apakah pemformatan mengubah apa yang dilakukan query?

Hanya spasi kosong dan, jika Anda memilih, huruf besar/kecil keyword. Literal string, nama dalam tanda kutip dan angka mempertahankan teksnya, jadi 'select' di dalam tanda kutip tetap huruf kecil saat Anda memilih HURUF BESAR.

Bisakah saya memformat beberapa pernyataan sekaligus?

Bisa. Pernyataan yang dipisahkan titik koma masing-masing diformat, dengan satu baris kosong di antaranya.

Huruf keyword mana yang sebaiknya saya pakai?

Keduanya sama-sama bisa; ini soal gaya dan database mengabaikannya. Keyword huruf besar adalah konvensi yang lebih lama dan membuat klausa menonjol di teks biasa. Huruf kecil umum di basis kode yang sudah memakai linter atau output ORM dengan gaya itu. Pertahankan seperti diketik membiarkan huruf kapital Anda apa adanya.