Easy Tutorial
❮ Sqlite Intro Sqlite Vacuum ❯

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.

❮ Sqlite Intro Sqlite Vacuum ❯