SQLite TRUNCATE TABLE 语句用于从现有表中清空数据。
SQLite 不像其他数据库那样具有显式 TRUNCATE TABLE 命令。
要在 SQLite 中清空表,可以使用不带 WHERE 子句的 DELETE 语句。这将清空表,但表结构将保留。
也可以使用 SQLite DROP TABLE 语句删除表的完整数据,但会从数据库中删除整个表结构。
语法
使用 DELETE FROM 语句的语法如下:
DELETE FROM table_name;
示例:
考虑一个数据库,其中包含一个名为 Employee 的表,其中包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
表格说明可以使用pragma table_info语句进行检查,如下所示:
pragma table_info('Employee');
上述代码的结果将是:
cid | Name | Type | notnull | dflt_value | pk |
---|---|---|---|---|---|
0 | EmpID | INT | 1 | 1 | |
1 | Name | VARCHAR(255) | 1 | 0 | |
2 | City | VARCHAR(100) | 0 | 0 | |
3 | Age | INT | 0 | 0 | |
4 | Salary | DECIMAL(18,2) | 0 | 0 |
要清空该表,语句如下:
DELETE FROM Employee;
清空表后,pragma table_info 语句仍将显示与上面所示相同的结构,但表将不包含任何记录。