sql - 删除所有表命令

标签 sql sqlite rdbms database

在 SQLite 中删除所有表的命令是什么?

同样,我想删除所有索引。

最佳答案

虽然确实没有 DROP ALL TABLES 命令,但您可以使用以下命令集。

注意:这些命令有可能破坏您的数据库,因此请确保您有备份

PRAGMA writable_schema = 1;
delete from sqlite_master where type in ('table', 'index', 'trigger');
PRAGMA writable_schema = 0;

然后您想要恢复已删除的空间

VACUUM;

一个很好的测试,以确保一切正常

PRAGMA INTEGRITY_CHECK;

关于sql - 删除所有表命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525512/

相关文章:

sqlite - SQLite:条件DDL语句

php - 在新数据库中安装表、字段和静态数据的标准方法是什么?

java - 使用来自 0jdbc6 JDBCthin 驱动程序的自定义对象返回类型调用 Oracle PL/SQL 过程

iphone - 如果 sqlite 中不存在,则在表中添加列

mysql - 如果我在列上创建索引但对多个列进行查询(其中一个列是索引列),查询处理速度是否很快?

sql - 当附加带有特殊字符的字符串时,MS Access VBA SQL 附加查询返回语法错误

SQL,如何转换为逻辑 ('not in' 到 'not exists' )

java - 表上的 UniqueConstrait 在 Hibernate 中不起作用

mysql - Offset是否应该在Sql查询的末尾指定?

python - sqlite3 和 cursor.description