SQL-дамп (.sql)
ISO/IEC СтандартСкрипт структурованої мови запитів (SQL) - це універсальний формат реляційної бази даних, що містить декларативні оператори DDL для створення таблиць баз даних та оператори INSERT DML для заповнення даних.
Конвертувати з SQLITE у SQL
Безкоштовний конвертер з SQLITE у SQL у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли SQL, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли SQL, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
2D 2D 20 / 43 52 45 41 54 45ASCII-УЯВЛЕННЯ: -- / CREATE
Стандартизація: ISO/IEC 9075:2023 / ANSI SQL Standard
Технічні характеристики
| Архітектура контейнера | Звичайний текстовий скрипт Unicode, що містить оператори мови визначення даних (DDL) та мови маніпулювання даними (DML) |
| Стиснення | Нестиснений звичайний текст (часто стискається як .sql.gz або .sql.zst) |
| Порядок байтів (Endianness) | Потік тексту UTF-8 / Unicode |
| Колірні простори | Не застосовується (Скрипт бази даних) |
| Канали та структура | Визначення реляційних схем (таблиці, подання, індекси, зовнішні ключі) та рядки даних INSERT |
| Максимальні розміри | Необмежена довжина тексту (підтримує багатотерабайтні дампи баз даних) |
| Прозорість | Відсутня |
| Потокове та прогресивне завантаження | Транзакційне потокове виконання оператор за оператором |
Технічна матриця порівняння: 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'.
- Відмова в обслуговуванні за допомогою неіндексованих рекурсивних спільних виразів таблиць (CTE).
Захисні найкращі практики: Ніколи не виконуйте недовірені скрипти SQL безпосередньо на серверах баз даних у виробничому середовищі; перевіряйте та очищуйте запити в ізольованих пісочницях.
Історичне походження та віхи
Головні переваги та плюси
- Беззаперечний глобальний стандарт зберігання корпоративних даних: сумісний з PostgreSQL, MySQL, SQLite, Oracle та SQL Server.
- Повна реляційна достовірність: відтворює таблиці, первинні ключі, зовнішні ключі, обмеження та індекси разом із даними.
- Транзакційне виконання: оператори можуть виконуватися всередині транзакцій (BEGIN...COMMIT) для гарантування атомарного відновлення бази даних.
Технічні обмеження та мінуси
- Несумісність діалектів: тонкі відмінності в синтаксисі (наприклад, AUTO_INCREMENT проти SERIAL проти AUTOINCREMENT) вимагають перекладу між рушіями баз даних.
- Величезні накладні витрати на текст: прості оператори INSERT SQL займають значно більше місця, ніж бінарне сховище бази даних.
- Повільний час імпорту на величезних багатоголобайтних дампах баз даних без відключеної перебудови індексів.
Цікаві технічні факти
- 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 Dump перетворює бінарну базу даних на зручні для читання текстові команди для легкої міграції баз даних та імпорту на сервери.
Перетворення текстового скрипту дампа SQL на експорт даних JSON перетворює жорсткі таблиці реляційної бази даних на гнучкі вкладені об'єкти для сучасних веб-додатків.
Перетворюйте скрипти резервного копіювання реляційних баз даних на плоскі табличні електронні таблиці для простого аналізу даних та звітності.
Конвертація бінарної резервної копії бази даних у звичайний текстовий SQL-скрипт дозволяє переносити таблиці та дані між повністю різними рушіями баз даних.
Конвертація нестисненого звичайного текстового SQL-скрипта в оптимізований нативний файл резервної копії бази даних зменшує розмір сховища та прискорює час відновлення сервера.