- 附加数据库
Attach database filename as |
主数据库默认为 "Main",
在使用Attach命令时, 不能将database_name指定为main;
当附加多个数据库,
并且存在相同名称的表时, 如果在命令时末指定数据库名(database_name), 则默认关联最先Attach的数据库;
建议操作相同名称的表时,
对应的数据库(database_name.table_name), 如, select * from MyDB.Table1;
- 分离附加的数据库
Detach database |
- 数据库相关配置
pragma |
设置缓冲区大小 |
pragma |
在创建数据库之前通过此命令可永久设置缓冲区大小 |
pragma |
显示当前加载的数据库列表(包括Attach附加的数据库) |
pragma |
查看index_name对应的索引信息 |
pragma |
查看table_name对应的表结构信息 |
pragma |
列出table_name创建的所有索引信息 |
pragma |
设置数据库写同步的三种方式: 0: 1: 2: FULL |
pragma |
设置数据库自动清理, |
- Sqlite_master
Sqlite_master保存数据库所有表,
索引的元数据信息, 及创建的DDL, 可通过如下命令查看:
SELECT * FROM SQLITE_MASTER; |
- Explain query plan 查看SQL执行的流程,
可用于SQL性能分析, 改善SQL查询
EXPLAIN QUERY PLAN SELECT * FROM |
- 利用null插入自动增长的值
- SQLite在使用INSERT / UPDATE时处理冲突的五种方式:
replace |
替换存在冲突的记录 |
ignore |
SQLite继续执行但忽略冲突的记录 |
fail |
Sqlite终止命令, |
abort |
Sqlite终止命令并恢复此命令发生冲突之前的修改 |
rollback |
Sqlite执行回滚, |
如: INSERT OR
REPLACE INTO TABLE_NAME
(FIELD_NAME) VALUES (FIELD_VALUE)
当执行命令的时候,
如遇到已存在记录, 则可直接在此记录上插入更新, 而不需要再插入前执行删除.