SQLite转SQL转换器
将 SQLite 数据库文件转换为 SQL 转储文本脚本,可将二进制数据库转换为可读的文本命令,以便于数据库迁移和服务器导入。
格式比较与技术规格
| 规格 | SQLITE | SQL |
|---|---|---|
| MIME 类型 | application/ | text/ |
| 类型 | 嵌入式关系数据库 | 关系模式与查询脚本 |
| 压缩 | B-Tree 页面分配 | 无 (纯文本 DDL/DML 脚本) |
| 标准规范 | SQLite 数据库文件格式 3 | ISO/IEC 9075 SQL 标准 |
| 魔数文件头 (Magic Bytes) | 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (SQLite format 3\0) | 2D 2D (--) or CREATE TABLE SQL statement |
格式概述与应用
SQLite 将整个关系数据库存储在一个独立的二进制文件中。开发人员和系统管理员经常需要将数据从本地 SQLite 应用程序移动到 MySQL 或 PostgreSQL 等更大的服务器系统。由于服务器数据库无法直接读取 SQLite 二进制文件,因此将该文件更改为 SQL 脚本可以解决此问题。SQL 脚本包含纯文本指令,这些指令在新的服务器上运行时会重新创建表、添加索引并插入数据。 SQL 转储是文本脚本,不是 SQLite 数据库文件,也不是 JSON。能否正确导入取决于目标数据库引擎、其 SQL 方言以及导出工具保留的功能。导入前请检查转储内容。
技术规格与编解码器解析
SQLite 数据库(MIME 类型 application/vnd.sqlite3)以一个独特的 16 字节魔数头部开始,该头部与文本字符串"SQLite format 3\000"匹配。该文件使用 B-Tree 页面分配系统以二进制格式组织表和索引。相比之下,SQL 转储(MIME 类型 text/plain)不包含二进制魔数字节。它是一个未压缩的 ASCII 或 UTF-8 文本文件,其中充满了诸如 CREATE TABLE 之类的标准数据定义语言命令和诸如 INSERT INTO 之类的数据操作语言命令。在它们之间进行转换需要读取二进制 B-Tree 页面并打印出文本语句。
操作系统与浏览器兼容性
SQL 转储是文本脚本,不是 SQLite 数据库文件,也不是 JSON。能否正确导入取决于目标数据库引擎、其 SQL 方言以及导出工具保留的功能。导入前请检查转储内容。
实用信息
始终使用 UTF-8 编码导出 SQL 转储,以防止在跨不同操作系统传输特殊符号或非英文文本时出现字符损坏。
常见问题
如何在不失真的情况下将 SQLite 数据库转换为 SQL 转储?
SQL 转储可以保留受支持的表和数据,但结果取决于导出工具和目标数据库的方言。使用转储前,请检查触发器、索引、约束和其他数据库专属功能。
SQLite 数据库和 SQL 转储之间有什么区别?
SQLite 数据库是一个二进制文件,它组织成固定大小的页面,并使用 B-Tree 进行快速本地查询。SQL 转储是一个纯文本脚本,包含人类可读的数据库命令,用于在另一台服务器上重建数据库。