SQLite 比较适合进行本地小型数据的存储,在功能丰富性和并发能力上不如 MySQL。
数据类型差异
-
SQLite 使用动态类型系统:只有 5 种基本存储类 (NULL, INTEGER, REAL, TEXT, BLOB)
-
类型亲和性:SQLite 会将声明的列类型映射到最接近的存储类
-
与 MySQL 的严格类型系统不同,SQLite 更灵活但可能缺少某些特定类型
SQL 语法差异
-
自增字段:SQLite 使用
AUTOINCREMENT
关键字而非AUTO_INCREMENT
-
LIMIT 子句:SQLite 使用
LIMIT offset, count
或LIMIT count OFFSET offset
-
INSERT 语句:SQLite 使用
INSERT OR IGNORE
,并非INSERT IGNORE
-
外键约束:默认禁用,需要
PRAGMA foreign_keys = ON
功能限制
-
用户管理:SQLite 没有用户概念,依赖文件系统权限
-
网络访问:SQLite 是本地数据库,不能通过网络直接访问
管理工具差异
-
没有类似 MySQL 的
mysql
命令行客户端,而是sqlite3
命令行工具 -
备份方式不同:SQLite 通常直接复制数据库文件