DROP TABLE (Transact-SQL)

Removes one or more tables from a database.

Syntax

DROP TABLE
    [ <table_or_view_or_trigger> [ ,...n ] ]
    [ ; ]

<table_or_view_or_trigger> ::=
    { <object> | <partition_function> | <partition_scheme> | <user_defined_function> | <view> | <trigger> }

<object> ::=
    { <table> | <sequence_object> | <queue> | <synonym> }

<table> ::=
    { SERVER _LEVEL_OBJECT_ | DATABASE _LEVEL_OBJECT_ }

<server_level_object> ::=
    { LOGIN | ROLE | APPLICATION _ROLE_ }

<database_level_object> ::=
    { USER | SCHEMA | ASSEMBLY | TYPE | ASSEMBLY (<assembly_name>) | TYPE (<type_name>) }

<sequence_object> ::=
    { SEQUENCE }

<queue> ::=
    { QUEUE }

<synonym> ::=
    { SYNONYM }

<partition_function> ::=
    { PARTITION _FUNCTION_ }

<partition_scheme> ::=
    { PARTITION _SCHEME_ }

<user_defined_function> ::=
    { FUNCTION }

<view> ::=
    { VIEW }

<trigger> ::=
    { TRIGGER }

Arguments

This statement supports only one argument:

Permissions

To execute DROP TABLE, the user must be a member of the db_ddladmin fixed database role or have ALTER permission on the schema that contains the table.

Examples

Example 1: Dropping a single table

DROP TABLE MySchema.MyTable;

Example 2: Dropping multiple tables

DROP TABLE MySchema.Table1, MySchema.Table2, MySchema.Table3;

Remarks

DROP TABLE removes the table definition and all data from the database. Any indexes, triggers, constraints, or permissions associated with the table are also removed.

Important: Dropping a table is an irreversible operation. Ensure you have backups before executing this statement.

If you try to drop a table that does not exist, SQL Server will return an error.

Warning: Dropping a table referenced by a foreign key constraint will fail unless the constraint is dropped first.

See Also