2016年04月04日

SQLite3 バックアップ / リストア DUMP形式

SQLite3 Windows7で、DUMP形式での、バックアップ / リストア 


対象データベース    : postal.db
DUMPバックアップ   : sq3_bk_dump_file.sql
SQLite3.exe が実行できるフォルダで、行う。 


バックアップ手順
1.バックアップの対象データベースに接続
sqlite3 postal.db
dump001.png

2.
.output sq3_bk_dump_file.sql    <----ファイル名を指定
.dump             <----ダンプ実行
.output stdout  <----コマンド出力先をファイルから、画面に戻す。(これをやらないと、以降のコマンドが画面に反映されない)
dump002.png
-----------------------------------------------------------------
別ドライブ
sqlite3 postal.db
.output 'x:\bk\sq3_bk_dump_file.sql'    <----別ドライブにファイル名を指定する場合は、コーテーション
.dump
.output stdout
.exit


3. DUMPで、バックアップされた、ファイルの中身。
dump003.png


DUMPからの、リストア手順
1. コマンドプロンプトから
sqlite3 postal2.s3db <  sq3_bk_dump_file.sql 
dump004.png


2. 別ドライブからの場合
sqlite3 postal3.s3db < x:\bk\sq3_bk_dump_file.sql
dump005.png

3. すでに、存在するデータベースにリストアしようとすると、エラーになるようです。
dump006.png

.backupコマンドの場合は、
----------------------------------------------------------------------------------
sqlite3 postal.s3db ".backup postal.db.backup"
----------------------------------------------------------------------------------

posted by a23 at 12:42| Comment(0) | SQLite

2014年07月15日

SQLite3 AUTOINCREMENT

create table TEST_NO_1 (seq_id INTEGER PRIMARY KEY AUTOINCREMENT, di integer);
create table TEST_NO_2 (seq_id INTEGER PRIMARY KEY AUTOINCREMENT, di integer);
create table TEST_NO_3 (seq_id INTEGER PRIMARY KEY AUTOINCREMENT, di integer);

insert into TEST_NO_1 (di) values (1);

insert into TEST_NO_2 (di) values (1);
insert into TEST_NO_2 (di) values (1);

insert into TEST_NO_3 (di) values (1);
insert into TEST_NO_3 (di) values (1);
insert into TEST_NO_3 (di) values (1);

.mode colum
select * from sqlite_sequence;

update sqlite_sequence set seq = 22 where name = 'TEST_NO_3';

select seq_id from TEST_NO_3 order by seq_id desc;

select ROWID from TEST_NO_3;
select ROWID+1 from TEST_NO_3;
select (ROWID+1) As NextVal from TEST_NO_3;
select ROWID,* from TEST_NO_3;


posted by a23 at 13:29| Comment(0) | SQLite