我想知道如何真空sqlite数据库.我尝试了语法MANUAL VACUUM命令为整个数据库从命令提示符:
$sqlite3 database_name "VACUUM;";
但它给出的错误是:
near "database_name": syntax error.
自动真空:
PRAGMA auto_vacuum = INCREMENTAL;
并针对一个特定的表进行了如下尝试:
VACUUM table_name;
但没有结果。
q1qsirdb1#
你不需要在语法中指定表名。只有VACUUM才有效。此外,它将只清理主数据库,而不清理任何附加的数据库文件。有关更多信息,请参阅SQLite documentation。
VACUUM
yws3nbqq2#
给予如下:
$sqlite3 database_name 'VACUUM;'
事实上,这也是从命令行执行其他查询的方法:
$sqlite3 database_name 'select * from tablename;'
您可以使用数据库的完整路径:
$sqlite3 /path/to/db/foo.db 'VACUUM;'
1cklez4t3#
运行命令:
VACUUM;
如果使用DBBrowser for Sqlite或从命令提示符打开Sqlite:
cd C:\your_folder C:\Users\your_user\AppData\Local\Android\Sdk\platform-tools\sqlite3.exe -line your_db_name.db
然后跑
7vhp5slm4#
双击数据库文件,它将直接在命令行中运行。
4条答案
按热度按时间q1qsirdb1#
你不需要在语法中指定表名。只有
VACUUM
才有效。此外,它将只清理主数据库,而不清理任何附加的数据库文件。
有关更多信息,请参阅SQLite documentation。
yws3nbqq2#
给予如下:
事实上,这也是从命令行执行其他查询的方法:
您可以使用数据库的完整路径:
1cklez4t3#
运行命令:
如果使用DBBrowser for Sqlite或
从命令提示符打开Sqlite:
然后跑
7vhp5slm4#
双击数据库文件,它将直接在命令行中运行。