2015-01-19 17 views
9

Sono nuovo al database. Sto cercando di creare un database e una tabella in esso. ma non è possibile salvare e riaprire dopo essere usciti da sqlite. Sto usando sqlite3 3.6.20 su CentOS, quando entrerò seguente comandocome possiamo salvare il database creato in sqlite3

.save ex1.db or .open ex1.db 

stamperà seguente messaggio di errore.

Error: unknown command or invalid arguments: "save". Enter ".help" for help 
Error: unknown command or invalid arguments: "open". Enter ".help" for help 

e quando Stampa .help esso esposizione wont qualsiasi comando relative a salvare e aprire il database esistente. grazie in anticipo.

risposta

10

Sto cercando di creare un database e la tabella in esso . ma incapace di salvare e riaprire dopo essere usciti da sqlite.

Non è necessario salvare. Ogni transazione scrive su disco. (Più o meno.)

Per creare il database "test.sl3", è possibile farlo. (Dalla riga di comando. Programmi di lavoro nello stesso modo.)

$ 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 

No .save. Ora carica nuovamente il database.

$ 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 

I dati sono ancora lì.

1

Si suppone di fornire un nome di file come argomento per il comando .save, ad esempio:

sqlite> .save ex1.db 

docs: http://www.sqlite.org/cli.html

+0

Yup, mi sto dando nome del database, anche se questo stampa il messaggio di errore. – erdarshp

3

come Mike ha sottolineato nella sua risposta, è necessario fornire un nome di file per mettere il database in.

Se hai fatto un sacco di lavoro e non è stato fornire un nome di file in anticipo e si lavora in un versione in cui il comando .save non è ancora disponibile (si cita che sqlite3 3.6.20 non lo sa e ho anche non lo vedo in sqlite3 version 3.8.2) è possibile utilizzare il .backup comando

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   
Problemi correlati