37

我想知道如何清理 sqlite 数据库。我从命令提示符尝试了整个数据库的语法 MANUAL VACUUM 命令:

 $sqlite3 database_name "VACUUM;";

但它给出的错误如下:

near "database_name": syntax error.

还有自动真空:

PRAGMA auto_vacuum = INCREMENTAL;

并尝试了一个特定的表:

VACUUM table_name;

但没有结果。

4

3 回答 3

32

您无需在语法中指定表名。只VACUUM工作。

此外,它只会清理主数据库,而不是任何附加的数据库文件。

有关详细信息,请参阅 SQLite文档

于 2013-08-08T13:27:59.017 回答
22

给出这样的命令:

$sqlite3 database_name 'VACUUM;'

事实上,这也是从命令行执行其他查询的方法:

$sqlite3 database_name 'select * from tablename;'

您可以使用数据库的完整路径:

$sqlite3 /path/to/db/foo.db 'VACUUM;'
于 2018-01-24T11:14:35.830 回答
12

运行命令:

VACUUM;

如果您使用 DB Browser for Sqlite 或

从命令提示符打开 Sqlite:

cd C:\your_folder
C:\Users\your_user\AppData\Local\Android\Sdk\platform-tools\sqlite3.exe  -line your_db_name.db

并运行

VACUUM;
于 2018-11-02T15:10:38.297 回答