On Fri, May 30, 2008 at 09:24:29PM -0700, Bruce Robertson scratched on the wall:
> Well, an interesting illustration of basic sqlite; but no relation to the
> question being asked.

  Actually, it is a good answer to the question that was asked.

  Running SQLite without a database file creates an in-memory database.
  Using the .dump command will dump that in-memory DB to a SQL file that
  can then be re-read into a file-backed database (or back into a memory
  database), just as Mark asked about.

  Of course, I assume Mark wants to do this via code.  That will
  require poking around the shell code to see how the ".dump" command
  is implemented within the command shell.

   -j


> > On 5/30/08, Mark Stewart <[EMAIL PROTECTED]> wrote:
> >> 
> >>  Is there a recommended way to save an in-memory database to a file?  Is
> >> there
> >>  a way to access the underlying in-memory data directly to save out to disk
> >>  (if that would even work)?
> >> 
> >>  My other thought was to create an empty file based db and attach it,
> >>  creating tables and transferring all the data through sql.
> >> 
> >>  Maybe there is some other option?
> >> 
> > 
> > 
> > [12:04 AM] ~/foo$ ls
> > [12:04 AM] ~/foo$ sqlite3
> > SQLite version 3.5.6
> > Enter ".help" for instructions
> > sqlite> CREATE TABLE t (a, b);
> > sqlite> INSERT INTO t VALUES (1, 'one');
> > sqlite> INSERT INTO t VALUES (2, 'two');
> > sqlite> SELECT * FROM t;
> > 1|one
> > 2|two
> > sqlite> .q
> > [12:04 AM] ~/foo$ ls
> > [12:04 AM] ~/foo$ sqlite3
> > SQLite version 3.5.6
> > Enter ".help" for instructions
> > sqlite> CREATE TABLE t (a, b);
> > sqlite> INSERT INTO t VALUES (1, 'one');
> > sqlite> INSERT INTO t VALUES (2, 'two');
> > sqlite> SELECT * FROM t;
> > 1|one
> > 2|two
> > sqlite> .o foo.sql
> > sqlite> .dump
> > sqlite> .q
> > [12:05 AM] ~/foo$ ls
> > foo.sql
> > 12:05 AM] ~/foo$ cat foo.sql
> > BEGIN TRANSACTION;
> > CREATE TABLE t (a, b);
> > INSERT INTO "t" VALUES(1,'one');
> > INSERT INTO "t" VALUES(2,'two');
> > COMMIT;
> > [12:06 AM] ~/foo$
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"'People who live in bamboo houses should not throw pandas.' Jesus said that."
   - "The Ninja", www.AskANinja.com, "Special Delivery 10: Pop!Tech 2006"
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to