AndroidでSQLLiteを使う。
- カラム「_id」を主キーとして各テーブルに追加すること。【絶対に必要なわけではない)
- アプリケーションの終了時にDBをクローズしたほうが良い。クローズは省略しても、一応大丈夫ではある。
- エミュレータで実行した場合にdbファイルはPC側に作成される。端末の場合は当然端末側にしかdbファイルは作成されないので注意。
- ヘルパークラスのonCreateメソッド内で、テーブル生成とデータ投入を行う必要がある。
- データ投入は、小規模であれば、ソースコードにそのまま記述したほうが早い。一応、dbファイルをコピーしたり、dumpコピーという方法もある。
- アップグレードの処理でテーブルの作り直しが可能。テーブルの削除、新規作成、データ投入のコードを、onUpgradeメソッド内に記述。
- dbファイルを削除するには、アンインストールすること。EclipseのDDMSパースペクティブから削除しないように注意。
SQLiteの型
型 | 説明 |
---|---|
INTEGER | 整数(8Byte) |
REAL | 浮動小数点(8Byte) |
TEXT | テキスト。文字コードはUTF8 |
BLOB | バイナリ |
NULL | NULL |
テーブル生成SQLの例
create table TestTbl(Id INTEGER not null primary key ,TestName TEXT,TestValue INTEGER,TestFloat REAL);
SELECTの例
SELECT Id,TestName FROM TestTbl WHERE Id=1;
INSERTの例
INSERT INTO TestTbl VALUES(1, 'neko',100,3.14);
UPDATEの例
UPDATE TestTbl SET TestName = 'yagi', TestValue= 200,TestFloat=1.7320508 WHERE Id=1;
DELETEの例
DELETE FROM TestTbl WHERE Id=2;
内部結合の例
select * from PetTbl inner join TestTbl on PetTbl.PetId = TestTbl.Id;
外部結合の例(左部結合)
select * from PetTbl left outer join TestTbl on PetTbl.PetId = TestTbl.Id;
※右外部結合、Full外部結合は現在サポートされておらず 2013年
テーブル存在チェック
SELECT COUNT(*) AS Pre FROM sqlite_master WHERE type='table' AND name='テーブル名';
create table TestTbl(Id INTEGER not null primary key ,TestName TEXT,TestValue INTEGER,TestFloat REAL);
SELECTの例
SELECT Id,TestName FROM TestTbl WHERE Id=1;
INSERTの例
INSERT INTO TestTbl VALUES(1, 'neko',100,3.14);
UPDATEの例
UPDATE TestTbl SET TestName = 'yagi', TestValue= 200,TestFloat=1.7320508 WHERE Id=1;
DELETEの例
DELETE FROM TestTbl WHERE Id=2;
内部結合の例
select * from PetTbl inner join TestTbl on PetTbl.PetId = TestTbl.Id;
外部結合の例(左部結合)
select * from PetTbl left outer join TestTbl on PetTbl.PetId = TestTbl.Id;
※右外部結合、Full外部結合は現在サポートされておらず 2013年
テーブル存在チェック
SELECT COUNT(*) AS Pre FROM sqlite_master WHERE type='table' AND name='テーブル名';
dbファイルの場所
以下の手順でsqliteファイルを取得可能。(エミュレータのみ)- Eclipseおよび、Androidエミュレータを起動しておく。
- EclipseのDDMSパースペクティブを開く。(DDMSは画面右上にある)
- File Explorerタブからdata→data→アプリ名→databaseとたどるとdbファイルを確認できる。
- dbファイルはそのままでは開けないが、右上の「左矢印アイコン」でdbファイルをダウンロードできる。
- ダウンロードしたdbファイルは、フリーツールやODBCを通して確認可能。
参考リンク
参考サイト1
- データベース操作サンプルの画面構成とスキーマ
- Androidのデータベースを作成するには?
- トランザクションとプリコンパイルステートメントとは?(効率のよいINSERT)
- ロールバック
- データベースの保存場所はメモリ? ストレージ?
- データベースの保存場所を指定するには?
参考サイト2
- データベースの削除はエミュレータのManage Applicationsから行おう
- 検索はSQL文でも繰り返しバインドでも