داده‌نوشت SQL (.sql)

ISO/IEC استاندارد

اسکریپت زبان پرس‌وجوی ساختاریافته (SQL) فرمت پایگاه‌داده رابطه‌ای جهانی است که حاوی دستورات اعلامی DDL برای ساخت جدول‌های پایگاه‌داده و دستورات DML INSERT برای پر کردن داده‌ها است.

تبدیل SQLITE به SQL

مبدل رایگان SQLITE به SQL درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های SQL را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های SQL را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

2D 2D 20 / 43 52 45 41 54 45

نمایش ASCII: -- / CREATE

استانداردسازی: ISO/IEC 9075:2023 / ANSI SQL Standard

مشخصات فنی

معماری کانتینرUnicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements
فشرده‌سازیUncompressed plaintext (frequently compressed as .sql.gz or .sql.zst)
ترتیب بایت‌ها (Endianness)UTF-8 / Unicode text stream
فضاهای رنگیN/A (Database Script)
کانال‌ها و ساختارRelational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows
حداکثر ابعادUnbounded text length (supports multi-terabyte database dumps)
شفافیت مشخصاتNone
استریمینگ و پیش‌روندهStatement-by-statement transactional streaming execution

ماتریس مقایسه فنی: SQL در برابر رقبا

ویژگی فنیSQL (فعلی)CSVJSONSQLITE
حفظ طرح‌واره (Schema Preservation)طرح‌واره کامل (جدول‌ها، انواع، کلیدهای خارجی)فقط نام ستون‌های سرتیترساختار سند خودتوصیف‌گرفایل پایگاه‌داده باینری کامل
مدل اجرا (Execution Model)اسکریپت DDL/DML قابل اجراداده‌های سطری-ستونی غیرفعالدرخت سند غیرفعالپرس‌وجوی مستقیم درخت B باینری
استانداردسازی (Standardization)استاندارد ISO/IEC 9075RFC 4180RFC 8259فرمت فایل باز SQLite
روابط داده‌ها (Data Relationships)محدودیت‌های کامل کلید خارجیجدولی تخت (بدون روابط)اشیاء والد-فرزند تو در تومحدودیت‌های رابطه‌ای کامل

حالت‌های رایج خرابی و راهنمای بازیابی هگز

وارد کردن پایگاه‌داده با خطای 'ERROR: syntax error at or near...' شکست می‌خورد.

علت ریشه‌ای: عدم تطابق گویش SQL (مثلاً وارد کردن دامپ بک‌تیک MySQL به PostgreSQL) یا نقل‌قول‌های تکی escape نشده.

بازیابی: با استفاده از مبدل پایگاه‌داده File2File، نحو گویش را تبدیل و پاکسازی کنید.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

اجرای اسکریپت‌های نامطمئن SQL می‌تواند باعث تزریق فاجعه‌بار SQL، نوشتن فایل دلخواه یا ارتقای دسترسی مدیریتی شود.

بردارهای حمله شناخته‌شده

  • تزریق SQL (SQLi) که دستورات مدیریتی ناخواسته را اجرا می‌کند (مانند DROP TABLE، GRANT ALL).
  • خواندن/نوشتن فایل سرور دلخواه از طریق 'COPY ... FROM PROGRAM' یا 'LOAD DATA INFILE'.
  • حمله محرومیت از سرویس (DoS) از طریق عبارات جدول مشترک (CTE) بازگشتی نمایه‌نشده.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2023استاندارد ISO/IEC 9075:2023 منتشر شد که پرس‌وجوهای گراف اموال (SQL/PGQ) را در SQL استاندارد ادغام کرد.
1986ANSI و ISO، زبان SQL را به عنوان استاندارد رسمی برای سیستم‌های مدیریت پایگاه‌داده رابطه‌ای تصویب کردند.
1974دان چمبرلین و ریموند بویس، زبان SEQUEL را در مرکز تحقیقات IBM بر اساس مدل رابطه‌ای ادگار اف. کاد توسعه دادند.

مزایا و نقاط قوت کلیدی

  • استاندارد جهانی بی‌رقیب برای ذخیره‌سازی داده‌های سازمانی: سازگار با PostgreSQL، MySQL، SQLite، Oracle و SQL Server.
  • وفاداری رابطه‌ای کامل: جدول‌ها، کلیدهای اصلی، کلیدهای خارجی، محدودیت‌ها و نمایه‌ها را در کنار داده‌ها بازسازی می‌کند.
  • اجرای تراکنشی: دستورات را می‌توان درون تراکنش‌ها (BEGIN...COMMIT) اجرا کرد تا بازگردانی اتمی پایگاه‌داده تضمین شود.

محدودیت‌ها و معایب فنی

  • ناسازگاری‌های گویشی: تفاوت‌های ظریف در نحو (مانند AUTO_INCREMENT در مقابل SERIAL یا AUTOINCREMENT) نیازمند ترجمه بین موتورهای پایگاه‌داده است.
  • سربار متن حجیم: دستورات ساده‌ی SQL INSERT فضای بسیار بیشتری نسبت به ذخیره‌سازی باینری پایگاه‌داده اشغال می‌کنند.
  • زمان وارد کردن کند در دامپ‌های حجیم چند گیگابایتی پایگاه‌داده بدون غیرفعال کردن بازسازی نمایه‌ها.

نکات فنی جالب

  • SQL در ابتدا «SEQUEL» (زبان پرس‌وجوی انگلیسی ساختاریافته) نام داشت، اما به دلیل اختلاف علامت تجاری با شرکت هواپیماسازی Hawker Siddeley به SQL کوتاه شد.
  • استاندارد رسمی ISO آن را به صورت حروف مجزا «S-Q-L» تلفظ می‌کند، اما میلیون‌ها توسعه‌دهنده به صورت عامیانه آن را «سیگوئل» (sequel) تلفظ می‌کنند.
  • تخمین زده می‌شود SQLite که بر روی نحو SQL اجرا می‌شود، روی بیش از ۱ تریلیون دستگاه در سراسر جهان نصب شده باشد.

سوالات فنی متداول

فایل .sql چیست؟

یک فایل .sql یک اسکریپت متنی ساده حاوی دستورات SQL است که جداول را ایجاد می‌کند، روابط را برقرار می‌سازد و سطرهایی از داده را در یک پایگاه داده رابطه‌ای درج می‌کند.

آیا می‌توانم فایل‌های دامپ SQL را به CSV یا JSON تبدیل کنم؟

بله. سایت File2File.app می‌تواند فایل‌های دامپ پایگاه داده .sql را تجزیه کرده و جداول را مستقیماً به صفحات گسترده تمیز CSV یا اسناد ساختاریافته JSON صادر کند.

چرا فایل .sql مربوط به MySQL من در PostgreSQL کار نمی‌کند؟

سیستم‌های پایگاه داده مختلف دارای تفاوت‌های گویشی انحصاری (مانند انواع داده و فرار از نقل‌قول) هستند. شما باید هنگام مهاجرت بین موتورهای پایگاه داده، سینتکس مختص هر گویش را ترجمه (Transcode) کنید.