Syntax:
Single-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

Multiple-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*]] ...
    FROM table_references
    [WHERE where_condition]

Or:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*]] ...
    USING table_references
    [WHERE where_condition]

For the single-table syntax, the DELETE statement deletes rows from
tbl_name and returns the number of rows deleted. The WHERE clause, if
given, specifies the conditions that identify which rows to delete.
With no WHERE clause, all rows are deleted. If the ORDER BY clause is
specified, the rows are deleted in the order that is specified. The
LIMIT clause places a limit on the number of rows that can be deleted.

For the multiple-table syntax, DELETE deletes from each tbl_name the
rows that satisfy the conditions. In this case, ORDER BY and LIMIT
cannot be used.

where_condition is an expression that evaluates to true for each row to
be deleted. It is specified as described in [HELP SELECT].

As stated, a DELETE statement with no WHERE clause deletes all rows. A
faster way to do this, when you do not want to know the number of
deleted rows, is to use TRUNCATE TABLE. See [HELP TRUNCATE TABLE].
