Drop a table (C#)

Tables with the Data API are currently in public preview. Development is ongoing, and the features and functionality are subject to change. Hyper-Converged Database (HCD), and the use of such, is subject to the DataStax Preview Terms.

Deletes a table from a database, including all data stored in the table.

Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart.

Result

Deletes the specified table from the database, including all data stored in the table.

Does not return anything.

Parameters

Use the DropTableAsync method, which belongs to the Database class. You can also use DropTable, which is the synchronous version of the method.

Method signature
public Task DropTableAsync(
  string tableName, DropTableOptions options = null
);
public Task DropTableAsync<TRow>(
  DropTableOptions options = null
) where TRow : class, new();
Name Type Summary

tableName

string

The name of the table to drop.

options

DropTableOptions

Optional. Options for this operation. Keyspace is required unless you specified a working keyspace when instantiating the Database object. For more information and examples for general options such as timeout and keyspace, see Customize API interaction. For options specific to this method, see Method-specific properties of the DropTableOptions class.

Method-specific properties of the DropTableOptions class
Name Type Summary

IfExists

bool

Optional. Whether the command should silently succeed even if a table with the given name does not exist in the keyspace and no table was dropped.

Default: false

Keyspace

string

Optional if you specified a working keyspace when you created the Database object. The keyspace containing the table.

Default: The working keyspace set when you created the Database object, if one was provided.

Examples

The following examples demonstrate how to drop a table.

Drop a table by name

using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;

namespace Examples;

public class Program
{
  static async Task Main()
  {
    // Get an existing database
    var client = new DataAPIClient(
      new CommandOptions() { Destination = DataAPIDestination.HCD }
    );

    var database = client.GetDatabase(
      "API_ENDPOINT",
      DataAPIClient.UsernamePasswordTokenProvider(
        "USERNAME",
        "PASSWORD"
      ),
      "KEYSPACE_NAME"
    );

    // Drop a table
    await database.DropTableAsync("TABLE_NAME");
  }
}

Drop a table through a Table object

If you get a Table object through one of the clients, you can drop the table through that object.

using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;

namespace Examples;

public class Program
{
  static async Task Main()
  {
    // Get an existing table
    var client = new DataAPIClient(
      new CommandOptions() { Destination = DataAPIDestination.HCD }
    );

    var database = client.GetDatabase(
      "API_ENDPOINT",
      DataAPIClient.UsernamePasswordTokenProvider(
        "USERNAME",
        "PASSWORD"
      ),
      "KEYSPACE_NAME"
    );

    var table = database.GetTable("TABLE_NAME");

    // Drop the table
    await table.DropAsync();
  }
}

Drop a table only if the table exists

Use this option to silently do nothing if a table with the specified name does not exist.

using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;

namespace Examples;

public class Program
{
  static async Task Main()
  {
    // Get an existing database
    var client = new DataAPIClient(
      new CommandOptions() { Destination = DataAPIDestination.HCD }
    );

    var database = client.GetDatabase(
      "API_ENDPOINT",
      DataAPIClient.UsernamePasswordTokenProvider(
        "USERNAME",
        "PASSWORD"
      ),
      "KEYSPACE_NAME"
    );

    // Drop a table
    await database.DropTableAsync(
      "TABLE_NAME",
      new DropTableOptions() { IfExists = true }
    );
  }
}

Client reference

For more information, see the client reference.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM