Name

DROP TABLE

Synopsis

DROP [TEMPORARY] TABLE [IF EXISTS] table[, ...] 
     [RESTRICT|CASCADE]

Use this statement to delete a table from a database, including its data. You can delete additional tables in the same statement by naming them in a comma-separated list. The addition of the IF EXISTS flag prevents error messages from being displayed if the table doesn’t already exist. If the TEMPORARY flag is given, only temporary tables matching the table names given will be deleted. DROP privileges won’t be checked with this flag, because temporary tables are visible and usable only by the user of the current session who created the temporary tables. The RESTRICT and CASCADE flags are for future versions and are related to compatibility with other systems.

DROP TABLE IF EXISTS repairs, clientss_old;
Query OK, 0 rows affected (0.00 sec)
SHOW WARNINGS;
+-------+------+------------------------------+
| Level | Code | Message                      |
+-------+------+------------------------------+
| Note  | 1051 | Unknown table 'clientss_old' |
+-------+------+------------------------------+

In this example, the user tried to instruct MySQL to delete both the repairs and the clients_old tables, but misspelled clients_old. Because the IF EXISTS flag was included, the statement doesn’t give an error message. Starting with Version 4.1 of MySQL, a note is created that you can retrieve by issuing a SHOW WARNINGS statement, as shown in this example. Notice that the number of tables deleted is not returned.

Get MySQL in a Nutshell 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.