SQLite Truncate Table
In SQLite, there is no TRUNCATE TABLE command, but you can use the SQLite DELETE command to delete all data from an existing table.
Syntax
The basic syntax of the DELETE command is as follows:
sqlite> DELETE FROM table_name;
However, this method does not reset the auto-increment value.
To reset the auto-increment value, you can use the following method:
sqlite> DELETE FROM sqlite_sequence WHERE name = 'table_name';
>
When an SQLite database contains an auto-increment column, a table named sqlite_sequence is automatically created. This table contains two columns: name and seq. The name column records the table with the auto-increment column, and the seq column records the current sequence number (the next record's number is the current sequence number plus 1). To reset the sequence number of an auto-increment column, you only need to modify the sqlite_sequence table.
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'table_name';
Example
Suppose the COMPANY table has the following records:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
Here is an example of deleting the records from the table:
SQLite> DELETE FROM sqlite_sequence WHERE name = 'COMPANY';
SQLite> VACUUM;
Now, all records in the COMPANY table are completely deleted, and using a SELECT statement will produce no output.