在 CockroachDB 中删除数据库中的所有表

Posted

技术标签:

【中文标题】在 CockroachDB 中删除数据库中的所有表【英文标题】:Drop all tables in a database in CockroachDB 【发布时间】:2017-09-06 00:56:28 【问题描述】:

是否有一个简单的命令可以让我删除数据库中的所有表?我设置了用户/授权,所以我不想删除数据库本身,只删除其中的表。

【问题讨论】:

【参考方案1】:

CockroachDB 本身不支持删除所有表而不删除包含它们的数据库,但您可以通过运行:

cockroach sql --format=csv -e 'SHOW TABLES FROM databasename' \
  | tail -n +3 \
  | xargs -n1 printf 'DROP TABLE databasename."%s";\n' \
  | cockroach sql

如果您不介意删除数据库,您可以运行 DROP DATABASE databasename CASCADE

【讨论】:

应该是tail -n +2,因为 CSV 只包含一个标题行。

以上是关于在 CockroachDB 中删除数据库中的所有表的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 CockroachDB 的默认数据库?

CockroachDB 中的行级锁定

CockroachDB 中的自动增量支持

如何加快 CockroachDB 中的插入性能

从 CockroachDB 中的“SELECT”返回随机行

带有 CockroachDB 的简单 CRUD 应用程序中的 org.hibernate.TransactionException