SQLiteのデータベースファイルをSDカードに保存
2011-02-24-1 / カテゴリ: [SQL][Android] / [permlink]
というのを年末調べてたけどまだまとめてなかったので。
内蔵ストレージに作られたファイルをコピーじゃなくて、最初からSD保存する構成。
大容量のデータを扱いたいとかデバッグ時とか。
というか、書籍やネットで「ファイル名を指定」している箇所をフルパスで指定(してandroid.permission.WRITE_EXTERNAL_STORAGEを付加)すればOK
SDK付属サンプルのNotePadであれば、
あとはファイルの暗号化機能とかあればなぁ…
内蔵ストレージに作られたファイルをコピーじゃなくて、最初からSD保存する構成。
大容量のデータを扱いたいとかデバッグ時とか。
というか、書籍やネットで「ファイル名を指定」している箇所をフルパスで指定(してandroid.permission.WRITE_EXTERNAL_STORAGEを付加)すればOK
SDK付属サンプルのNotePadであれば、
--- src/com/example/android/notepad/NotePadProvider.java.org 2011-01-20 16:43:58.312750000 +0900 +++ src/com/example/android/notepad/NotePadProvider.java 2011-02-24 21:06:29.551900000 +0900 @@ -30,6 +30,7 @@ import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; +import android.os.Environment; import android.text.TextUtils; import android.util.Log; @@ -43,7 +44,7 @@ private static final String TAG = "NotePadProvider"; - private static final String DATABASE_NAME = "note_pad.db"; + private static final String DATABASE_NAME = Environment.getExternalStorageDirectory() + "/note_pad.db"; private static final int DATABASE_VERSION = 2; private static final String NOTES_TABLE_NAME = "notes";するとこんな感じ。(DesireIIで確認)
% adb shell ls -l /mnt/sdcard/note_pad.db ----rwxr-x system sdcard_rw 4096 2011-02-24 11:50 note_pad.db
あとはファイルの暗号化機能とかあればなぁ…
MySQL 基本操作
2005-04-13-1 / カテゴリ: [linux][SQL][MySQL] / [permlink]
□ コマンドラインの起動
□ ユーザ(root)にパスワードを設定
□ MySQLユーザ名を指定した起動
□ データベースの一覧表示
□ データベース(zakidb)の作成
□ データベース(zakidb)の指定
□ テーブル(t_todofuken)の作成
□ テーブル一覧の表示
□ テーブル(t_todofuken)のフィールド一覧を表示する
□ フィールド名(ken -> kenmei)と型を変更する
※ 型は変更しなくても指定すること
□ フィールドの型のみ修正する
□ フィールド(menseki)を追加する
□ テーブル(t_todofuken)を(フィールド・レコードともに)削除する
% mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 4.0.24_Debian-5-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
□ ユーザ(root)にパスワードを設定
mysql> set password for root=password('********'); Query OK, 0 rows affected (0.00 sec)
□ MySQLユーザ名を指定した起動
% mysql -u username [-p]
□ データベースの一覧表示
mysql> show databases; +----------+ | Database | +----------+ | test | +----------+ 1 row in set (0.00 sec)
□ データベース(zakidb)の作成
mysql> create database zakidb; Query OK, 1 row affected (0.00 sec)
□ データベース(zakidb)の指定
mysql> use zakidb; Database changed
□ テーブル(t_todofuken)の作成
mysql> create table t_todofuken (ken char(50), kencho char(50), jinko int); Query OK, 0 rows affected (0.00 sec)
□ テーブル一覧の表示
mysql> show tables; +------------------+ | Tables_in_zakidb | +------------------+ | t_todofuken | +------------------+ 1 row in set (0.00 sec)
□ テーブル(t_todofuken)のフィールド一覧を表示する
mysql> show fields from t_todofuken; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | ken | char(50) | YES | | NULL | | | kencho | char(50) | YES | | NULL | | | jinko | int(11) | YES | | NULL | | +--------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
□ フィールド名(ken -> kenmei)と型を変更する
mysql> alter table t_todofuken change ken kenmei char(50); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show fields from t_todofuken; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | kenmei | char(50) | YES | | NULL | | | kencho | char(50) | YES | | NULL | | | jinko | int(11) | YES | | NULL | | +--------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
※ 型は変更しなくても指定すること
□ フィールドの型のみ修正する
mysql> alter table t_todofuken modify kenmei char(30); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show fields from t_todofuken; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | kenmei | char(30) | YES | | NULL | | | kencho | char(50) | YES | | NULL | | | jinko | int(11) | YES | | NULL | | +--------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
□ フィールド(menseki)を追加する
mysql> alter table t_todofuken add menseki int; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show fields from t_todofuken; +---------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+----------+------+-----+---------+-------+ | kenmei | char(30) | YES | | NULL | | | kencho | char(50) | YES | | NULL | | | jinko | int(11) | YES | | NULL | | | menseki | int(11) | YES | | NULL | | +---------+----------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
□ テーブル(t_todofuken)を(フィールド・レコードともに)削除する
mysql> drop table t_todofuken; Query OK, 0 rows affected (0.00 sec) ※ y/N すら聞いて来ないので注意!!!
Oracle sqlplus 値変更
2004-09-22-1 / カテゴリ: [SQL][Oracle] / [permlink]
SQL> update TABLE_NAME set FIX_COLUMNS='newvalue' where COLUMNS = 'value'; 1 row updated. SQL> commit; Commit complete.テーブル TABLE_NAME のうち、COLUMNS='value' なデータを検索・そのレコード
の FIX_COLUMNS を newvalue に書き換える。
最後に commit するのを忘れずに。
Oracle sqlplus テーブル一覧
2004-08-27-1 / カテゴリ: [SQL][Oracle] / [permlink]
SQL> select table_name from dba_tables where table_name like '%hoge%';
テーブル名に hoge が含まれるものをリストアップする。
"%" はシェルで言うワイルドカード
"table_name" と "dba_tables" は固定
Oracle(てーかSQL) 基本
2004-08-18-1 / カテゴリ: [SQL][Oracle] / [permlink]
SQL> select 列挙したい項目 from テーブル名; SQL> select 列挙したい項目 from テーブル名 where カラム名 = 'カラムの値';
e.g.
SQL> select COLUMNS1, COLUMNS2 from TABLE where COLUMNS3 = '1234567890';COLUMNS3 が 1234567890 なレコードの、COLUMNS1, COLUMNS2 のみ表示する
数値のカラムが変なフォーマットになる
SQL> col カラム名 from 9999999999 (9は「数字」の意 %dみたいな?)(文字列は a)
見たいテーブルのカラム名のリスト
SQL> desc テーブル名;
最終更新時間: 2013-05-02 16:12