SQLiteデータ抽出ツール
l-w-i
l-w-i
ATOMRSS
  • ソースコードID: 493
  • 登録日時: 2008/04/11 14:22
  • 最終更新日時: 2008/04/11 14:33
  • アクセス数: 945
  • タグ:  shell sqlite
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加
  • GoodJob
  • 1

GJ

説明

SQLiteでテーブル毎にデータを抽出するツールです。

SQLiteの「.dump」を使い、テーブル毎にCREATE TABLE文を含むそのテーブルの全ての構成要素を抽出します。

使い方は2種類あって、指定したDBに対して「-a」で全テーブルを抽出、「-f <file>」で<file>中に書かれているテーブルのみ抽出します(行頭に#があればコメント)。

usage: unload [-a|-f conf_file] db
         -a           unload all tables
         -f conf_file unload specified tables

エラー処理(*1)はきちんとやっていませんが利用シーンを特定して使っている(*2)ので個人的には問題ありません。

(*1) 指定DBが本当にDBかどうか、ディスクに空きがない場合はどうするか等々
(*2) Firefox3のブックマーク情報取り出しとか。
     http://l-w-i.net/m/20080411_01.txt

純粋にデータだけ抽出するのもいいのですが、テーブル自体を再作成する必要が出てきた時などに困るので僕は「.dump」のほうが好みです。

ソースコード

コメント

  • l-w-i
  • 1:l-w-i
  • 2008/04/11 14:33

使用例です。

sqlite3 test.db
sqlite> .tables
customer  purpose   test
sqlite> .q

unload -a test.db
Unload tables to "test.db-<table>-20080411-1409.dump"
  [0001/0003] customer ... done
  [0002/0003] purpose ... done
  [0003/0003] test ... done

ls -1 *.dump
test.db-customer-20080411-1409.dump
test.db-purpose-20080411-1409.dump
test.db-test-20080411-1409.dump

more test.db-customer-20080411-1409.dump
BEGIN TRANSACTION;
CREATE TABLE customer(
id integer,
name text,
tel text,
address text);
INSERT INTO "customer" VALUES(1,'foo','01-234-5789','park');
INSERT INTO "customer" VALUES(2,'bar','99-999-9999','apart');
INSERT INTO "customer" VALUES(3,'baz',NULL,NULL);
COMMIT;

cat <<END conf
customer
purpose
END

unload -f conf test.db
Unload tables to "test.db-<table>-20080411-1412.dump"
  [0001/0002] customer ... done
  [0002/0002] purpose ... done

  • GoodJob
  • 0

前へ 1 次へ

コメントする

[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。

[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。

ゲスト投稿者:ゲスト:

PDFLib | A library for processing PDF on the fly プレゼン公開・共有サイト handsOut.jp オープンタイプ株式会社 チーム・マイナス6% - みんなで止めよう温暖化

ソースコードのブログパーツ

デフォルトのフォントサイズ
修飾
表示サイズ
px px
プレビュー (表示する)
下のプレビュー領域をクリックすると、ポップアップで全体を見ることができます。
パラメータが不正です

    GoodJobしたユーザ

    ブックマークコメント

    関連するなにがし

    前へ 1 次へ

    タグ

    dyndnsbytearrayinputstreamobjectinputstreambytearrayoutputstreamobjectoutputstreamディープコピーdeepcopyarraylistiteratorチェックボックス複数multibytexencentos文字エンコーディングinit_connectcharacter-set-servercollation-serverdefault-character-setf:label動的メソッド呼び出しヘルパーメソッドwsse2重登録防止prototype.js位置positionpositionedoffsetscrolltoスクロールlink_tocyclecheck_box_tagチュートリアルactive_formerror_messages_forハイライトバリデーションvalidate便利リストデコレーションメールデコメ非対応機種tilestext_field_tag一括複数情報etherealrtphexテキストデータ抽出validwhenリセット一括更新plop置換replacepcoslogmixisregソケットnet::telnetfopenmutexサンプルcalendar[linux][bash][シェルスクリプト][大容量]mobilerorrails2.1clipboardクリップボード横向きピラミッドs2jdbc-genjsonicお絵かきフルパス名抽出サブドメインサブドメイン名s2jdbc自動生成エンティティドコモxhtmlrestdoltengspidering背景変更グラデーションiso一括登録xトークンチェックevalmonitorslavereplication画像処理

    前へ 1 2 3 ... 8 次へ