Last modified on 28 March 2014, at 08:28

Structured Query Language/DELETE 1

Hint: Be carefull and deactivate AUTOCOMMIT.

← UPDATE 1 | SELECT: Join Operation →


The DELETE command removes rows from a table.

DELETE FROM <tablename>
WHERE       <search_condition>;

The syntax is very simple as we do not need to specify any columnname - rows are deleted as a whole and not partly. As usual the search condition specifies the criterion which identifies the affected rows. It can involve zero, one or more rows. If we omit the WHERE keyword and the search condition all rows are affected.


-- Delete one row
WHERE  lastname = 'Burton';
-- It's only a test. Restore the row.

The information about Mr. Burton was deleted and restored again.

Further InformationEdit

We present some more information about the DELETE command here. There are also some comments to the interconnection with the TRUNCATE command.


Delete the hobby 'Yoga'.

Click to see solution
-- Delete one row
WHERE  hobbyname = 'Yoga';
-- or: WHERE  id = 6;
ROLLBACK; -- if we want to restore the row
COMMIT;   -- if we want to commit our work
-- Check the result
SELECT * FROM hobby;

Delete all relations between persons and hobbies. Check result. Restore all rows.

Click to see solution
-- compact syntax - great impact
DELETE FROM person_hobby;
-- Check the result
SELECT * FROM person_hobby;
-- restore everything