我想知道如何清理sqlite数据库。 我尝试了从命令提示符中使用手动VACUUM命令来清理整个数据库:
$sqlite3 database_name "VACUUM;";
但是它报错了:
near "database_name": syntax error.
还有自动清理功能:
PRAGMA auto_vacuum = INCREMENTAL;
并尝试对特定表进行如下操作:
VACUUM table_name;
但是没有结果。
像这样发出命令:
$sqlite3 database_name 'VACUUM;'
实际上,这也是从命令行执行其他查询的方法:
$sqlite3 database_name 'select * from tablename;'
您可以使用数据库的完整路径:
$sqlite3 /path/to/db/foo.db 'VACUUM;'
执行以下命令:
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;
双击数据库文件,它将直接在命令行中运行。然后只需键入VACUUM;
VACUUM
from sqlite3 command line will only VACUUM main database. Attached databases can be VACUUMED only from sqlite3 verisonversion 3.15.0
.For older versions, database name must be specified, this works frombash
as mentioned in @yöliitäjä answer:$sqlite3 database_name 'VACUUM;'
- Arnis JuragaVACUUM MyTable
时,会出现“执行完成,但出现错误。结果:未知数据库MyTable”的错误信息。 - Mustafa Özçetin