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;