Как очистить базу данных sqlite?

Я хочу знать, как очистить базу данных sqlite. Я попробовал синтаксис команды MANUAL VACUUM для всей базы данных из командной строки:

 $sqlite3 database_name "VACUUM;";

Но это дает ошибку как:

near "database_name": syntax error.

а также АВТО ВАКУУМ:

PRAGMA auto_vacuum = INCREMENTAL;

И попробовал это для конкретной таблицы как:

VACUUM table_name;

Но безрезультатно.


person meghalee    schedule 08.08.2013    source источник


Ответы (3)


Вы не должны указывать имя таблицы в синтаксисе. Только VACUUM работает.

Кроме того, он очистит только основную базу данных, а не все прикрепленные файлы базы данных.

Для получения дополнительной информации см. документацию по SQLite.

person SHANK    schedule 08.08.2013
comment
эта страница предполагает, что это возможно в таблице tutorialspoint.com/sqlite/sqlite_vacuum.htm - person Vihaan Verma; 26.11.2014
comment
VACUUM из командной строки sqlite3 будет только основная база данных VACUUM. Прикрепленные базы данных можно ОЧИСТИТЬ только из версии sqlite3 version 3.15.0. Для более старых версий необходимо указать имя базы данных необходимо, это работает с bash, как указано в ответе @ yöliitäjä: $sqlite3 database_name 'VACUUM;' - person Arnis Juraga; 19.02.2018

Дайте команду так:

$sqlite3 database_name 'VACUUM;'

Фактически, это способ делать и другие запросы из командной строки:

$sqlite3 database_name 'select * from tablename;'

Вы можете использовать полный путь к БД:

$sqlite3 /path/to/db/foo.db 'VACUUM;'
person yöliitäjä    schedule 24.01.2018

Выполните команду:

VACUUM;

если вы используете DB Browser для Sqlite или

откройте Sqlite из командной строки:

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

и беги

VACUUM;
person live-love    schedule 02.11.2018