SQLite 的 DELETE 语句用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
SQLite 要清空表记录,只能使用Delete来删除全部表数据。但是与别的数据库不同,SQlite在为表创建自增列后,会将表自增列的当前序号保存到一个名为sqlite_sequenc的表内, 因此清除表的所有记录后,如果还要将自增列清零,则需处理此表相关记录。sqlite_sequence表结构(其中seq字段为当前自增列的序号值,name字段为数据表名称)
sqlite> .schema sqlite_sequence CREATE TABLE sqlite_sequence(name,seq);
删除表指定记录
sqlite> delete from tb_task where id=6;
删除表所有记录,同时将自增列的序号值设置为0
sqlite> delete from tb_task; sqlite> update sqlite_sequence set seq=0 where name='tb_task';
查询所有表的自增列的序号值(seq字段为当前自增列的序号值,name字段为数据表名称)
sqlite> .header on sqlite> .mode column sqlite> select * from sqlite_sequence;