מעצב SQL (SQL Formatter)
הדביקו שאילתה מבולגנת וקבלו SQL נקי עם הזחה עקבית. תמיכה ב-17 דיאלקטים, ברישיות של מילות מפתח ובכיווץ בלחיצה אחת, הכול בדפדפן שלכם.
רץ בדפדפן שלכםבלי הרשמהשום דבר לא מועלה
איך משתמשים בכלי מעצב SQL
- הדביקו משפט SQL אחד או יותר בתיבת הקלט, או פתחו קובץ
.sql. - בחרו את הדיאלקט של מסד הנתונים כדי שהתחביר שלו, כמו המרות
::, [brackets], backticks או מחרוזות$$, ינותח נכון. - הגדירו רישיות של מילות מפתח (UPPER, lower או שמירה על המקור), הזחה ומספר השורות הריקות בין משפטים.
- עברו לכיווץ כדי להסיר הערות ורווחים עבור לוגים, ORM או פרמטרים ב-URL.
- העתיקו את התוצאה או הורידו אותה כקובץ
.sql.
למה לעצב SQL?
שאילתות שמועתקות מלוגים של ORM, מתוכניות ביצוע או מקוד האפליקציה מגיעות בדרך כלל כשורה ארוכה אחת. הצבת כל פסוקית (SELECT, FROM, JOIN, WHERE, GROUP BY) בשורה משלה והזחת עמודות ותנאים הופכות את הלוגיקה לקריאה. זה גם מקטין את ה-diffs ב-code review ועוזר לזהות תנאי join חסר או OR במקום הלא נכון.
מוסכמות סגנון ב-SQL
- מילות מפתח באותיות גדולות (
SELECT,WHERE) מבדילות בין תחביר SQL לשמות טבלאות ועמודות. רוב מדריכי הסגנון ממליצים על כך, אף שאותיות קטנות פופולריות בצוותי dbt ואנליטיקה. - עמודה אחת בכל שורה הופכת הוספה או הסרה של עמודה ל-diff של שורה אחת.
- הזחה עקבית (2 או 4 רווחים) בתוך פסוקיות ותתי-שאילתות מראה את הקינון במבט חטוף.
- סיום משפטים: סיימו כל משפט ב-
;כדי שסקריפטים מרובי משפטים יהיו חד-משמעיים.
דיאלקטים נתמכים של SQL
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 ואופרטורים ייחודיים לספק מזוהים רק בדיאלקט שלהם.
מה עושה הכיווץ
מצב הכיווץ מסיר הערות --, # ו-/* */, מצמצם רווחים ושבירות שורה לרווח יחיד, ומשמיט רווחים סביב פסיקים וסוגריים. מחרוזות ומזהים במירכאות ('…', "…", `…`, […], $$…$$) מועתקים בית אחר בית, כך שמשמעות השאילתה לעולם לא משתנה.
שאלות נפוצות
האם ה-SQL שלי נשלח לשרת?
האם העיצוב משנה את מה שהשאילתה עושה?
למה אני מקבל שגיאת ניתוח על SQL תקין?
::type או SQL Server עבור שמות [bracketed] ו-@params.