ייצוא SQL (.sql)

ISO/IEC תקן

Structured Query Language Script (SQL) הוא פורמט מסד הנתונים היחסי האוניברסלי המכיל הצהרות DDL הצהרתיות לבניית טבלאות מסד נתונים והצהרות DML INSERT לאכלוס נתונים.

המר SQLITE ל-SQL

ממיר חינמי מ-SQLITE ל-SQL פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי SQL על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי SQL על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

אין חתימה קבועה

ייצוג ASCII: אין חתימה קבועה

תקינה: ISO/IEC 9075:2023 / ANSI SQL Standard

מפרט טכני

מבנה המכולהסקריפט טקסט פשוט ביוניקוד, המכיל פקודות בשפות DDL להגדרת נתונים ו-DML לשינוי נתונים
דחיסהטקסט פשוט לא דחוס (נדחס לעיתים קרובות כקובץ ‎.sql.gz או ‎.sql.zst)
סדר בתים (Endianness)זרם טקסט UTF-8 / Unicode
מרחבי צבעלא רלוונטי (סקריפט מסד נתונים)
ערוצים ומבנההגדרות של סכמות יחסיות (טבלאות, תצוגות, אינדקסים ומפתחות זרים) ושורות נתונים מסוג INSERT
ממדים מרבייםאורך טקסט ללא מגבלה קבועה (תומך בייצואי מסדי נתונים בגודל כמה טרה-בתים)
שקיפותאין
הזרמה ופרוגרסיביותביצוע טרנזקציות בהזרמה, פקודה אחר פקודה

מטריצת השוואה טכנית: SQL מול מתחרים

תכונה טכניתSQL (נוכחי)CSVJSONSQLITE
שימור סכימהסכימה מלאה (טבלאות, טיפוסים, מפתחות זרים)שמות עמודות כותרת בלבדמבנה מסמך מזהה את עצמוקובץ מסד נתונים בינארי שלם
מודל ביצועסקריפט DDL/DML בר ביצוענתוני שורה-עמודה פסיבייםעץ מסמכים פסיבישאילתת עץ B בינארית ישירה
תקינהתקן ISO/IEC 9075RFC 4180RFC 8259פורמט קובץ פתוח של SQLite
קשרי נתוניםאילוצי מפתח זר מלאיםטבלאי שטוח (ללא קשרים)אובייקטי אב-בן מקונניםאילוצים יחסיים מלאים

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

ייבוא מסד הנתונים נכשל עם 'ERROR: syntax error at or near...'.

גורם שורש: אי-התאמה של ניב SQL (למשל ייבוא של dump מ-MySQL המשתמש בגרשיים הפוכים לתוך PostgreSQL) או מרכאות בודדות שלא עברו בריחה.

שחזור: המר וטהר את תחביר הניב באמצעות File2File.app Database Transpiler.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

הפעלת סקריפטים של SQL שאינם מהימנים עלולה לגרום להזרקת SQL קטסטרופלית, כתיבת קבצים שרירותית, או הסלמת הרשאות ניהוליות.

ווקטורי תקיפה ידועים

  • הזרקת SQL (SQLi) המפעילה פקודות ניהוליות לא מכוונות (למשל DROP TABLE, GRANT ALL).
  • קריאה/כתיבה שרירותית של קובצי שרת באמצעות 'COPY ... FROM PROGRAM' או 'LOAD DATA INFILE'.
  • מניעת שירות באמצעות ביטויי טבלה נפוצים רקורסיביים שאינם באינדקס (CTEs).

שיטות מומלצות להגנה: לעולם אל תריץ סקריפטי SQL לא מהימנים ישירות בשרתי מסדי נתונים בסביבת ייצור; בדוק וטהר שאילתות בארגזי חול מבודדים.

היסטוריה ואבני דרך

2023שוחרר ISO/IEC 9075:2023, המשלב שאילתות גרף מאפיינים (SQL/PGQ) ב-SQL הסטנדרטי.
1986ANSI ו-ISO מאמצים את SQL כתקן הרשמי עבור מערכות ניהול מסדי נתונים יחסיים.
1974דונלד צ'מברלין וריימונד בויס מפתחים את SEQUEL במחקר של IBM על בסיס המודל היחסי של אדגר פ. קוד (Edgar F. Codd).

יתרונות מרכזיים

  • התקן העולמי הבלתי מעורער לאחסון נתונים ארגוניים: תואם ל-PostgreSQL, MySQL, SQLite, Oracle ו-SQL Server.
  • שחזור מלא של המבנה היחסי: טבלאות, מפתחות ראשיים, מפתחות זרים, אילוצים ואינדקסים לצד הנתונים.
  • ביצוע עסקאות (טראנזקציות): ניתן להריץ הצהרות בתוך עסקאות (BEGIN...COMMIT) כדי להבטיח שחזור מסד נתונים אטומי.

מגבלות טכניות וחסרונות

  • חוסר תאימות בין ניבים: הבדלי תחביר עדינים (למשל AUTO_INCREMENT לעומת SERIAL לעומת AUTOINCREMENT) דורשים המרה בין מנועי מסדי נתונים.
  • עומס טקסט עצום: הצהרות SQL INSERT פשוטות לוקחות נפח גדול משמעותית מאחסון מסד נתונים בינארי.
  • זמני ייבוא איטיים על גיבובי מסדי נתונים ענקיים מרובי גיגה-בייט כאשר בנייה מחדש של אינדקסים אינה מושבתת.

עובדות טכניות מעניינות

  • SQL נקראה במקור 'SEQUEL' (Structured English Query Language), אך שמה קוצר ל-SQL עקב סכסוך סימנים מסחריים עם חברת המטוסים Hawker Siddeley.
  • התקן הרשמי של ISO מבטא זאת כאותיות נפרדות 'S-Q-L', אך מיליוני מפתחים מבטאים זאת באופן לא רשמי כ-'sequel'.
  • SQLite, הפועל על תחבירת SQL, מוערך להיות מותקן על למעלה מטריליון מכשירים ברחבי העולם.

שאלות טכניות נפוצות

מה זה קובץ .sql?

קובץ .sql הוא סקריפט טקסט פשוט המכיל פקודות SQL היוצרות טבלאות, קובעות קשרים ומכניסות שורות נתונים למסד נתונים רלציוני.

האם אני יכול להמיר קובצי גיבוי (dump) של SQL ל-CSV או JSON?

כן. File2File.app יכול לנתח קובצי גיבוי של מסד נתונים מסוג .sql ולייצא את הטבלאות ישירות לגיליונות אלקטרוניים נקיים מסוג CSV או למסמכי JSON מובנים.

למה קובץ ה-.sql של MySQL שלי לא עובד ב-PostgreSQL?

למערכות מסדי נתונים שונות יש הבדלי ניב קנייניים (כגון סוגי נתונים ובריחת מרכאות). עליך להמיר תחביר ייחודי לניב בעת מעבר בין מנועי מסדי נתונים.