DELETE
DELETE removes rows for which the WHERE condition is SQL true. Without WHERE, it removes every row while retaining the table definition.
The deletion is applied immediately in the current transaction. Foreign-key actions apply when foreign_keys is enabled. Use DROP TABLE to remove the table itself.
Syntax
text
DELETE FROM table
[WHERE condition]
[RETURNING expression, ...]RETURNING reads the deleted row's values. It does not return the remaining rows.
Examples
Removing completed work
sql
CREATE TABLE queue(id INTEGER PRIMARY KEY, done Bool);
INSERT INTO queue VALUES (1, true), (2, false), (3, true);sql
DELETE FROM queue
WHERE done
RETURNING id
FORMAT csv;text
1
3sql
SELECT id, done
FROM queue
ORDER BY id
FORMAT csv;text
2,falseClearing a table
sql
DELETE FROM queue;sql
SELECT count(*)
FROM queue
FORMAT csv;text
0Use transactions when a deletion must be committed or rolled back with other changes.