دادهنوشت SQL (.sql)
ISO/IEC استاندارداسکریپت زبان پرسوجوی ساختاریافته (SQL) فرمت پایگاهداده رابطهای جهانی است که حاوی دستورات اعلامی DDL برای ساخت جدولهای پایگاهداده و دستورات DML INSERT برای پر کردن دادهها است.
تبدیل SQLITE به SQL
مبدل رایگان SQLITE به SQL درون مرورگر. فایلها را فورا روی دستگاه خود تبدیل کنید.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای SQL را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (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 (فعلی) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| حفظ طرحواره (Schema Preservation) | طرحواره کامل (جدولها، انواع، کلیدهای خارجی) | فقط نام ستونهای سرتیتر | ساختار سند خودتوصیفگر | فایل پایگاهداده باینری کامل |
| مدل اجرا (Execution Model) | اسکریپت DDL/DML قابل اجرا | دادههای سطری-ستونی غیرفعال | درخت سند غیرفعال | پرسوجوی مستقیم درخت B باینری |
| استانداردسازی (Standardization) | استاندارد ISO/IEC 9075 | RFC 4180 | RFC 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) بازگشتی نمایهنشده.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- استاندارد جهانی بیرقیب برای ذخیرهسازی دادههای سازمانی: سازگار با 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) کنید.
جفتهای تبدیل مرتبط با SQL
تبدیل یک فایل پایگاه داده SQLite به اسکریپت متنی خروجی SQL، یک پایگاه داده باینری را به دستورات متنی خوانا برای مهاجرت آسان پایگاه داده و واردسازی سرور تبدیل میکند.
تبدیل یک اسکریپت متنی SQL Dump به خروجی داده JSON، جداول پایگاه داده رابطهای سخت را به اشیاء تو در تو و انعطافپذیر برای برنامههای وب مدرن تبدیل میکند.
تبدیل اسکریپتهای پشتیبان پایگاه داده رابطهای به صفحات گسترده جدولی تخت برای تحلیل ساده دادهها و تهیه گزارش.
تبدیل یک پشتیبان باینری پایگاه داده به اسکریپت متنی ساده SQL به شما امکان میدهد جداول و دادههای پایگاه داده را بین موتورهای کاملاً مختلف پایگاه داده جابجا کنید.
تبدیل یک اسکریپت متنی ساده SQL فشرده نشده به یک فایل پشتیبان پایگاه داده بومی بهینهسازی شده، اندازه ذخیرهسازی را کاهش داده و زمانهای بازیابی سرور را تسریع میکند.