как сохранить базу данных, созданную в sqlite3
Я новичок в базе данных. Я пытаюсь создать базу данных и таблицу в ней. но не удалось сохранить и открыть снова после выхода из sqlite. Я использую sqlite3 3.6.20 на centOS, когда я введу следующую команду
.save ex1.db or .open ex1.db
он будет печатать следующее сообщение об ошибке.
Error: unknown command or invalid arguments: "save". Enter ".help" for help
Error: unknown command or invalid arguments: "open". Enter ".help" for help
и при печати .помощь он не будет показывать любую команду, связанную с сохранением и открытием существующей базы данных. Спасибо заранее.
3 ответов
Я пытаюсь создать базу данных и таблицу в ней. но не удалось сохранить и открыть снова после выхода из sqlite.
вам не нужно сохранять. Каждая транзакция записывается на диск. (Более или менее.)
для создания базы данных " test.sl3", вы можете это сделать. (Из командной строки. Программы работают примерно так же.)
$ sqlite3 test.sl3
SQLite version 3.8.7.2 2014-11-18 20:57:56
Enter ".help" for usage hints.
sqlite> create table test (test_id integer primary key);
sqlite> insert into test values (1);
sqlite> select * from test;
1
.quit
нет .save
. Теперь снова загрузите базу данных.
$ sqlite3 test.sl3
SQLite version 3.8.7.2 2014-11-18 20:57:56
Enter ".help" for usage hints.
sqlite> select * from test;
1
данные все еще там.
как Майк указал в своем ответе, вы должны предоставить имя файла для размещения базы данных.
если вы сделали много работы и вы не указали имя файла и работе в Версия, в которой .save
команда еще не доступна (вы цитируете это sqlite3 3.6.20
не знаю его, и я также не вижу его в sqlite3 version 3.8.2
) можно использовать .backup
команда
sqlite> .help
[...]
.backup ?DB? FILE Backup DB (default "main") to FILE
$ sqlite3
[...]
sqlite> create table mytable ( column1 text, column2 integer );
sqlite> insert into mytable values ( 'ENTRY1', 1 );
sqlite> insert into mytable values ( 'ENTRY2', 2 );
sqlite> .backup main temp.db
sqlite> .quit
$ sqlite3 temp.db
[...]
sqlite> .schema
CREATE TABLE mytable ( column1 text, column2 integer );
sqlite> select * from mytable;
column1 column2
---------- ----------
ENTRY1 1
ENTRY2 2
вы должны предоставить имя файла в качестве аргумента для .сохранить команду, например:
sqlite> .save ex1.db