DELETE

Structured Query Language · Wikibooks

0%

Contents

    Text

    Size
    100%
    Theme
    Typeface
    Line length
    Spacing

    From Wikibooks, under CC BY-SA 4.0, as the source states it. This page at Wikibooks.

    DELETE


    Hint: Be careful and deactivate AUTOCOMMIT.

    The DELETE command removes rows from a table.

    DELETE FROM <tablename>
    WHERE       <search_condition>;
    

    The syntax is straightforward as we do not need to specify any column name - 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.

    Example

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

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

    Further Information

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

    Exercises

    Delete the hobby 'Yoga'.

    Click to see solution
    -- Delete one row
    DELETE FROM hobby
    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
    ROLLBACK;