SQL дъммп (.sql)
ISO/IEC СтандартСкриптът за Structured Query Language (SQL) е универсалният формат за релационни бази данни, съдържащ декларативни DDL изявления за изграждане на таблици в база данни и DML INSERT изявления за попълване на данни.
Конвертиране на SQLITE към SQL
Безплатен конвертор от SQLITE към SQL в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират SQL файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират SQL файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
2D 2D 20 / 43 52 45 41 54 45ASCII ПРЕДСТАВЯНЕ: -- / 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 |
|---|---|---|---|---|
| Запазване на схемата | Пълна схема (таблици, типове, външни ключове) | Само имена на колони в заглавката | Самоописваща се структура на документ | Пълен двоичен файл на база данни |
| Модел на изпълнение | Изпълним DDL/DML скрипт | Пасивни данни в редове и колони | Пасивно дърво на документи | Директна двоична заявка по B-дърво |
| Стандартизация | Стандарт ISO/IEC 9075 | RFC 4180 | RFC 8259 | Формат за отворен файл на SQLite |
| Връзки между данните | Пълни ограничения за външни ключове | Плоска таблична (без връзки) | Вложени обекти родител-дете | Пълни релационни ограничения |
Често срещани режими на повреда и ръководство за хекс възстановяване
Импортирането на базата данни се проваля с грешка 'ERROR: syntax error at or near...'.
Първопричина: Несъответствие на SQL диалекта (напр. импортиране на дъм с MySQL обратни наклонени черти в PostgreSQL) или несъбрани единични кавички.
Възстановяване: Конвертирайте и санирайте синтаксиса на диалекта с помощта на File2File Database Transpiler.
Анализ на сигурността и вектори на атака към парсера
Изпълнението на ненадеждни SQL скриптове може да доведе до катастрофално SQL инжектиране, произволно записване на файлове или ескалация на административни привилегии.
Известни вектори на атака
- SQL инжекция (SQLi), изпълняваща непредвидени административни команди (напр. DROP TABLE, GRANT ALL).
- Произволно четене/запис на сървърни файлове чрез 'COPY ... FROM PROGRAM' или 'LOAD DATA INFILE'.
- Отказ от услуга чрез неиндексирани рекурсивни общи таблични изрази (CTEs).
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Безспорният глобален стандарт за корпоративно съхранение на данни: съвместим с 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', но милиони разработчици го произнасят разговорно като 'сиквел'.
- Изчислено е, че SQLite, който работи със SQL синтаксис, е инсталиран на над 1 трилион устройства по света.
Често задавани технически въпроси
Какво представлява .sql файлът?
Файлът .sql представлява обикновен текстов скрипт, съдържащ SQL команди, които създават таблици, установяват връзки и въвеждат редове с данни в релационна база данни.
Мога ли да конвертирам SQL дъмпове в CSV или JSON?
Да. File2File.app може да анализира файлове с дъмпове на .sql бази данни и да експортира таблиците директно в чисти CSV електронни таблици или структурирани JSON документи.
Защо моят MySQL .sql файл не работи в PostgreSQL?
Различните системи за бази данни имат специфични разлики в диалектите (като типове данни и ескейпване на кавички). Трябва да транскодирате специфичния за диалекта синтаксис, когато мигрирате между енджини на бази данни.
Свързани двойки за конвертиране на SQL
Конвертирането на файл с SQLite база данни в текстов SQL скрипт преобразува двоична база данни в четими текстови команди за лесно прехвърляне на данни и сървърни импорта.
Конвертирането на текстов скрипт с SQL дъммп в JSON експорт преобразува таблиците на релационни бази данни в гъвкави, вложени обекти за съвременни уеб приложения.
Преобразувайте скриптове за архивиране на релационни бази данни в плоски таблични електронни таблици за опростен анализ на данни и отчетност.
Конвертирането на двоичен архив на база данни в обикновен текстов SQL скрипт ви позволява да премествате таблици и данни между напълно различни системи за управления на бази данни.
Конвертирането на некомпресиран обикновен текстов SQL скрипт в оптимизиран оригинален архив на база данни намалява размера за съхранение и ускорява времето за възстановяване на сървъра.