Name
DELETE — Delete rows from a table
Syntax
Common Usage
DELETE FROMdatabase_name
.table_name
; DELETE FROMdatabase_name
.table_name
WHERE 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 ...
Get Using SQLite now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.