SQL Formatter & Beautifier

Επικολλήστε ένα ακατάστατο ερώτημα και πάρτε καθαρό SQL με συνεπείς εσοχές. Υποστηρίζει 17 διαλέκτους, πεζά/κεφαλαία λέξεων-κλειδιών και ελαχιστοποίηση με ένα κλικ, όλα στον browser σας.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

Μορφοποιημένο SQL

Πώς να χρησιμοποιήσετε: SQL Formatter

  1. Επικολλήστε μία ή περισσότερες εντολές SQL στο πεδίο εισόδου ή ανοίξτε ένα αρχείο .sql.
  2. Επιλέξτε τη διάλεκτο της βάσης σας ώστε η σύνταξή της, όπως casts ::, [brackets], backticks ή strings $$, να αναλύεται σωστά.
  3. Ορίστε πεζά/κεφαλαία για τις λέξεις-κλειδιά (UPPER, lower ή διατήρηση), την εσοχή και τον αριθμό κενών γραμμών μεταξύ εντολών.
  4. Αλλάξτε σε Ελαχιστοποίηση για να αφαιρέσετε σχόλια και κενά για logs, ORMs ή παραμέτρους URL.
  5. Αντιγράψτε το αποτέλεσμα ή κατεβάστε το ως αρχείο .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-formatter που τρέχει στον browser σας. Ερωτήματα με ονόματα πινάκων, δεδομένα πελατών ή διαπιστευτήρια μένουν στον υπολογιστή σας.
Αλλάζει η μορφοποίηση τι κάνει το ερώτημα;
Όχι. Αλλάζουν μόνο τα κενά, οι αλλαγές γραμμής και (αν το επιλέξετε) τα πεζά/κεφαλαία των λέξεων-κλειδιών. Τα αναγνωριστικά, τα string literals και τα σχόλια μένουν όπως γράφτηκαν.
Γιατί παίρνω σφάλμα ανάλυσης σε έγκυρο SQL;
Το ερώτημα πιθανότατα χρησιμοποιεί σύνταξη άλλης βάσης δεδομένων. Επιλέξτε την αντίστοιχη διάλεκτο, για παράδειγμα PostgreSQL για casts ::type ή SQL Server για ονόματα σε [bracketed] και @params.
Μπορώ να μορφοποιήσω πολλές εντολές μαζί;
Ναι. Χωρίστε τις εντολές με τον χαρακτήρα «;». Μπορείτε να επιλέξετε πόσες κενές γραμμές θα μπαίνουν ανάμεσά τους στην έξοδο.
Θα αλλάξουν τα πεζά/κεφαλαία τα ονόματα των στηλών μου;
Όχι. Αλλάζουν μόνο οι δεσμευμένες λέξεις-κλειδιά, οι τύποι δεδομένων και οι ενσωματωμένες συναρτήσεις. Τα ονόματα πινάκων και στηλών κρατούν την αρχική τους γραφή.

Σχετικά εργαλεία