Name
DELETE — Delete rows from a table
Syntax

Common Usage
DELETE FROMdatabase_name.table_name; DELETE FROMdatabase_name.table_nameWHERE id = 42;
Description
The DELETE command permanently removes rows from a
table. Any row that satisfies the WHERE expression will be removed. A WHERE condition that causes no
rows to be deleted is not considered an error. If no WHERE condition is provided, it
is assumed to always be true, and every row in the table will be
deleted.
Warning
A DELETE command with no WHERE clause will delete
every row in a table.
If no WHERE
clause is provided, there are some situations when
SQLite can simply truncate the whole table. This is much faster
than deleting every row individually, but it skips any per-row
processing. Truncation will only happen if the table has no
triggers and is not part of a foreign key relationship (assuming
foreign key support is enabled). Truncation can also be disabled
by having an authorizer return SQLITE_IGNORE for the delete operation (see
sqlite3_set_authorizer()).
If the
SQLite library has been compiled with the optional
SQLITE_ENABLE_UPDATE_DELETE_LIMIT
directive, an optional ORDER
BY...LIMIT clause may be used to delete a
specific number of rows. See the SQLite website for more
details.
When a DELETE appears within a trigger body,
additional limitations apply. See CREATE TRIGGER.
Deleting data from a table will not decrease the size of ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access