sqlite-tables

SQLiteデータベースファイルをパースしてスキーマ一覧を照会します。テーブル、インデックス、ビューなどデータベースに定義されたすべてのスキーマオブジェクトの名前とSQL定義を確認できます。

コマンドプロパティ

項目説明
コマンドタイプドライバークエリ
必要な権限なし
ライセンス使用量集計する
並列実行非対応
分散実行データノードで実行 (mapper)

構文

sqlite-tables FILE_PATH

対象

FILE_PATH
照会するSQLiteデータベースファイルのパス

出力フィールド

フィールド説明
typestringスキーマオブジェクト種別。tableindexviewなど
namestringスキーマオブジェクト名
table_namestringスキーマオブジェクトが属するテーブル名。インデックスの場合は対象テーブル名を返します。
root_pagelongスキーマオブジェクトのルートページ番号
sqlstringスキーマオブジェクトのSQL定義文

エラーコード

パースエラー

該当なし

ランタイムエラー
エラーコードメッセージ説明後処理
-IOExceptionSQLiteデータベースファイルを読み取れない場合クエリを中断します。

説明

sqlite-tablesコマンドは、指定したSQLiteデータベースファイルをバイナリーレベルで直接パースしてsqlite_masterテーブルに相当するスキーマ情報を照会します。SQLiteライブラリーに依存しないため、ロック状態のデータベースファイルも照会できます。

出力結果にはテーブルだけでなく、インデックス、ビューなどデータベースに定義されたすべてのスキーマオブジェクトが含まれます。sqlフィールドを通じて各オブジェクトのCREATE文を確認できるため、カラム構成とタイプを把握できます。

テーブル構造を確認した後、sqlite-recordsコマンドで特定のテーブルのレコードを照会できます。

使用例

  1. SQLiteデータベースのスキーマ一覧を照会

    sqlite-tables /opt/logpresso/evidence/History
    

    ChromeブラウザーのHistoryファイルからすべてのスキーマオブジェクトを照会します。

  2. テーブルスキーマのみフィルタリング

    sqlite-tables /opt/logpresso/evidence/History
    | search type == "table"
    

    スキーマオブジェクトのうちテーブルのみフィルタリングして照会します。

  3. 特定のテーブルのSQL定義を確認

    sqlite-tables /opt/logpresso/evidence/places.sqlite
    | search name == "moz_places"
    

    Firefoxのplaces.sqliteファイルからmoz_placesテーブルのSQL定義文を確認します。