SQLite †
- SQLite Home Page
- SQLite - Wikipedia
- SQLite はMySQLやPostgreSQLと同じデータベース管理システムであるが、サーバとしてではなくアプリケーションに組み込んで利用される軽量のデータベースである。 一般的なRDBMSに比べて大規模な仕事には不向きだが、中小規模ならば速度に遜色はない。 また、APIは単純にライブラリを呼び出すだけであり、データの保存に単一のファイルのみを使用することが特徴である。バージョン3.3.8からは全文検索のFTS1モジュールがサポートされた。
バックアップ/リストア †
- .backup: バイナリ形式のファイルのままコピーを取る
最適化 †
異なるDB間でのテーブルコピー †
sqlite3 new.db
sqlite> ATTACH DATABASE 'old.db' AS old;
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /tmp/new.db
2 old /tmp/old.db
sqlite> BEGIN;
sqlite> INSERT INTO main.table1(c1,c2,c3) SELECT c1,c2,c3 FROM old.table1;
sqlite> COMMIT;
sqlite> DETACH DATABASE old;
CentOS5.xでpecl sqliteのインストール †
複数のDBを連結して使用 †
- dbファイル名に'.'が入っている場合は「'」「"」で囲む必要がある
sqlite3 foo.db
sqlite> CREATE TABLE item (id INT, name text);
sqlite> .tables
item
sqlite> INSERT INTO item VALUES (1, 'item1');
sqlite> INSERT INTO item VALUES (2, 'item1');
sqlite> .exit
----
sqlite3 bar.db
sqlite> CREATE TABLE item (id INT, name text);
sqlite> .tables
item
sqlite> INSERT INTO item VALUES (3, 'item3');
sqlite> INSERT INTO item VALUES (4, 'item4');
----
sqlite> attach 'foo.db' AS foo;
sqlite> attach 'bar.db' AS bar;
sqlite> SELECT * FROM foo.item UNION ALL SELECT * FROM bar.item;
1|item1
2|item2
3|item3
4|item4
sqlite> detach bar;
sqlite> detach foo;
ツール †