Tips

Android データベース sqlite3コマンド【Android Tips】

9
データベース
データベース sqlite3コマンド
この節では、SQLiteデータベースを管理するためのツール「sqlite3」を紹介します。このツールはコマンドライン(コマンドプロンプト)で実行します。「sqlite3」コマンドは全てのAndroid端末に搭載されているため、どのような実機を開発で利用しても使うことができます。もちろんエミュレータにも搭載されています。
sqlite3ツール概要
SQLiteデータベース内のデータを確認する方法の中でもっとも手軽な方法の1つが、sqlite3ツールを使用する方法です。

sqlite3ツールを使用するには、まずコマンドプロンプト上からadb shellコマンドでエミュレータもしくは実機に接続する必要があります。
その後、「/data/data/パッケージ名/databases/」ディレクトリ以下に保存されているデータベースファイル名を指定してsqlite3コマンドを実行するとデータベースに接続します。

C:>adb shell
# sqlite3 /data/data/com.example.sqlite3sample/databases/sample.db

SQLite version 3.5.9
Enter ".help" for instructions

sqlite>

上記例では、com.example.sqlite3sampleパッケージのアプリケーションで作成されたsample.dbデータベースにアクセスしています。
正常に接続できた場合は、プロンプトが「sqlite>」となります。

あとは、SQL文を入力し実行することができます。SQL文は「;」セミコロンまでが1つの命令文となっています。Enterキーを入力したがプロンプトが「->」となりうまくいかない場合は、SQL文の入力が続いていることを表しています。

コラム(文字化けへの対応)
Windowsのコマンドプロンプトは文字コードがSJIS(MS932)であり、一方Androidの文字コードはUTF-8のため、文字化けを起こしてしまうことがあります。たとえば、テーブルの中に日本語のデータが含まれていて、それをSELECTした際などに発生します。

以下の設定を変更することで文字化けを解消することが可能です。
・コマンドプロンプトのプロパティのフォントを「MSゴシック」に設定(1度設定すればよい)
・コマンドプロンプト上で「CHCP 65001」コマンドを実行(毎回実行する必要あり)

これらの設定を行えば、”データを確認する”という用途には十分使うことができます。ただし、完全に文字化けが解消されるわけではありませんので、気になる方は他のツールを使用することを検討してください。

sqlite3ツールのコマンド
sqlite3ツールはSQL文だけでなく、様々なコマンドを実行することができます。利用可能なコマンドは「.help」コマンドを実行することで参照することができます。
代表的なコマンドを紹介します。sqlite3ツールのコマンドはかならず「.」(ピリオド)から始まります。

コマンド 概要
.database データベース名を一覧表示する
.tables テーブル名を一覧表示する
.schema テーブル作成時のCREATE文を表示する
.dump データベースの内容を表示する
.read ファイルのSQLを実行する
.output 実行結果の出力先をファイルに変更する
.output stdout 実行結果の出力先を標準出力に変更する(デフォルト)
.show 設定値を表示する
.help ヘルプを表示する
.exit sqlite3を終了する



データベースのバックアップを取得したい場合は、下記のように行うことが可能です。

sqlite> .output /data/data/com.example.sqlite3sample/databases/dump.sql
sqlite> .dump

Androidアプリ開発の必須知識!JAVAプログラミングを学べる連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search