作者:少爷旅行 | 来源:互联网 | 2023-05-26 09:55
我是数据库新手.我正在尝试在其中创建数据库和表.但退出sqlite后无法保存并再次打开.我在centOS上使用sqlite3 3.6.20,当我输入以下命令时
.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
当打印.help它不会显示任何与保存和打开现有数据库相关的命令.提前致谢.
1> Mike Sherril..:
我正在尝试在其中创建数据库和表.但退出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
数据仍在那里.
2> Erik..:
正如Mike在他的回答中指出的那样,你应该提供一个文件名来放入数据库.
如果你做了很多工作并且你没有预先提供文件名并且你在一个.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