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 通常直接复制数据库文件