SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库 SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。 SQLite 是自给自足的,这意味着不需要任何外部的依赖 SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
sqlite3对于大量数据持续性写入会造成并发,而sqlite3处理并发是有问题的会出现sqlite_busy的问题。所以经过大量文档阅读找到db.configure("busyTimeout", 6000),给处理sql加上超时,如果遇到sqlite_busy它会进行等待,知道数据库不被锁或者达到超时状态。
create 创建表 alter 修改表 drop删除表 insert 插入数据 select搜索数据 delete 删除数据 update 更新数据
使用是条件筛选 order by desc倒序 asc正序
select count(*) from sqlite_master where name='idx_toPuid' 查询是否包含索引
create index idx_toPuid on message_record('toPuid', 'readState','direction'); 创建索引
- SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义
4.sqlite算数运算符
- 加 - 减 *乘 / 除 %取模
5.sqlite比较运算符
==相等、=等于、!=非等于、!<不小于、!>不大于、<>不等为 真、<=小于等于、>=大于等于
6.sqlite逻辑运算符
and 多条件、bewteen 值之间、exists搜索指定表行、in 指定表、not in 不指定表、 like '%查询数据%' 、
GLOB 大小写敏感类似like、not 否定运算符、is 和某个值进行比较、is null 和null进行比较、is not 与!=类 似、|| 连接两个字符串得到新字符串、 UNIQUE 指定表中每一行 确保唯一性