Description
Use DELETE to remove rows from a table. Only rows that match a condition you specify will be deleted. To delete all rows from a table, do not specify a condition. Issuing a DELETE with no condition results in all rows being deleted from the target table. You are then be left with an empty table.
Note: Use TRUNCATE to empty a table more efficiently than with an unconditional DELETE statement.
Use the ONLY clause to prevent the deletion of rows from tables that inherit from the target table. ONLY restricts the delete operation to only the target table. Otherwise, the delete operation will affect not only the target table, but all tables that inherit from it.
Example
The following syntax removes all shipped orders from the shipments table that were placed by customer ID 142, and that were shipped before August 7, 2001:
booktown=#
DELETE FROM shipments
booktown-#
WHERE customer_id = 142
booktown-#
AND ship_date < '2001-08-07';
DELETE 1