SQL Formatter & Beautifier
Επικολλήστε ένα ακατάστατο ερώτημα και πάρτε καθαρό SQL με συνεπείς εσοχές. Υποστηρίζει 17 διαλέκτους, πεζά/κεφαλαία λέξεων-κλειδιών και ελαχιστοποίηση με ένα κλικ, όλα στον browser σας.
Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει
Πώς να χρησιμοποιήσετε: SQL Formatter
- Επικολλήστε μία ή περισσότερες εντολές SQL στο πεδίο εισόδου ή ανοίξτε ένα αρχείο
.sql. - Επιλέξτε τη διάλεκτο της βάσης σας ώστε η σύνταξή της, όπως casts
::,[brackets], backticks ή strings$$, να αναλύεται σωστά. - Ορίστε πεζά/κεφαλαία για τις λέξεις-κλειδιά (UPPER, lower ή διατήρηση), την εσοχή και τον αριθμό κενών γραμμών μεταξύ εντολών.
- Αλλάξτε σε Ελαχιστοποίηση για να αφαιρέσετε σχόλια και κενά για logs, ORMs ή παραμέτρους URL.
- Αντιγράψτε το αποτέλεσμα ή κατεβάστε το ως αρχείο
.sql.
Γιατί να μορφοποιήσετε SQL;
Τα ερωτήματα που αντιγράφονται από logs ORM, πλάνα εκτέλεσης ή κώδικα εφαρμογών έρχονται συνήθως σε μία μεγάλη γραμμή. Αν βάλετε κάθε clause (SELECT, FROM, JOIN, WHERE, GROUP BY) στη δική του γραμμή και δώσετε εσοχή σε στήλες και συνθήκες, η λογική γίνεται ευανάγνωστη. Επίσης τα diffs στο code review μικραίνουν και εντοπίζετε πιο εύκολα μια συνθήκη join που λείπει ή ένα OR σε λάθος θέση.
Συμβάσεις στυλ SQL
- Λέξεις-κλειδιά με κεφαλαία (
SELECT,WHERE) ξεχωρίζουν τη σύνταξη SQL από τα ονόματα πινάκων και στηλών. Οι περισσότεροι οδηγοί στυλ το συνιστούν, αν και τα πεζά είναι δημοφιλή σε ομάδες dbt και analytics. - Μία στήλη ανά γραμμή: η προσθήκη ή αφαίρεση στηλών γίνεται diff μίας γραμμής.
- Συνεπής εσοχή (2 ή 4 κενά) μέσα σε clauses και υποερωτήματα δείχνει την ένθεση με μια ματιά.
- Τερματισμός εντολών: τελειώνετε κάθε εντολή με
;ώστε τα scripts πολλών εντολών να μην είναι αμφίσημα.
Υποστηριζόμενες διάλεκτοι SQL
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 και TiDB. Αν ένα ερώτημα δεν αναλύεται, δοκιμάστε μια πιο συγκεκριμένη διάλεκτο: τα @variables, οι παράμετροι $1 και οι τελεστές κάθε κατασκευαστή αναγνωρίζονται μόνο στη δική τους διάλεκτο.
Τι κάνει η ελαχιστοποίηση
Η λειτουργία ελαχιστοποίησης αφαιρεί τα σχόλια --, # και /* */, συμπτύσσει κενά και αλλαγές γραμμής σε μονά κενά και αφαιρεί τα κενά γύρω από κόμματα και παρενθέσεις. Τα string literals και τα αναγνωριστικά σε εισαγωγικά ('…', "…", `…`, […], $$…$$) αντιγράφονται byte προς byte, οπότε η σημασία του ερωτήματος δεν αλλάζει ποτέ.
Συχνές ερωτήσεις
Αποστέλλεται το SQL μου σε server;
Αλλάζει η μορφοποίηση τι κάνει το ερώτημα;
Γιατί παίρνω σφάλμα ανάλυσης σε έγκυρο SQL;
::type ή SQL Server για ονόματα σε [bracketed] και @params.