とりあえずsqliteでデータベースを作成したい人のためのTipsです。
csvからインポートしてデータベースを作成します。
<使用環境>
・Macbook Pro
・バージョン10.15.2(Catalina)
##1.csvファイル
1,東京都庁,東京都新宿区西新宿2-8-1,03-5321-1111,metro.tokyo.jp
2,神奈川県庁,神奈川県横浜市中区日本大通1,045-210-1111,pref.kanagawa.jp
3,埼玉県庁,埼玉県さいたま市浦和区高砂3-15-1,048-824-2111,pref.saitama.lg.jp
4,千葉県庁,千葉県千葉市中央市場町1-1,043-223-2110,pref.chiba.lg.jp
5,静岡県庁,静岡県静岡市葵区追手町9-6,054-221-2455,pref.shizuoka.jp
住所録ちっくなcsvファイルを作成しておく。
##2.データベースを作成してcsvをインポート
ターミナルでデータベースの器を作成しつつsqliteに入る。
既にデータベースがある場合も同じコマンドでOK。
今回、データベース名は「test.db」。
$ sqlite3 test.db
SQLite version 3.28.0 2019-04-15 14:49:49
Enter ".help" for usage hints.
sqlite>
「create table」SQL文でテーブルを作成する。
今回、テーブル名は「addressbook」。
sqlite> create table addressbook(seq integer, name text, address text,phone text, mail text);
sqlite>
「.tables」コマンドでテーブルが作成できているか確認する。
sqlite> .tables
addressbook
sqlite>
「.show」コマンドでsqlite設定を確認する。
sqlite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: list
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "\n"
stats: off
width:
filename: test.db
sqlite>
colseparatorの設定が「|」であることが確認できる。
これがインポートファイルのセパレータ記号なので、「.separator」コマンドで「,」へ変更する。
sqlite> .separator ,
sqlite>
「.show」コマンドで確認。
sqlite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: list
nullvalue: ""
output: stdout
colseparator: ","
rowseparator: "\n"
stats: off
width:
filename: test.db
sqlite>
「.import」コマンドでcsvファイルをインポートする。ファイルパスは変更してください。
エラーが出なければ大丈夫。
sqlite> .import /Users/xxxxxxx/test.csv addressbook
sqlite>
「select *」SQL文でテーブルの中身を確認する。
sqlite> select * from addressbook;
1,東京都庁,東京都新宿区西新宿2-8-1,03-5321-1111,metro.tokyo.jp
2,神奈川県庁,神奈川県横浜市中区日本大通1,045-210-1111,pref.kanagawa.jp
3,埼玉県庁,埼玉県さいたま市浦和区高砂3-15-1,048-824-2111,pref.saitama.lg.jp
4,千葉県庁,千葉県千葉市中央市場町1-1,043-223-2110,pref.chiba.lg.jp
5,静岡県庁,静岡県静岡市葵区追手町9-6,054-221-2455,pref.shizuoka.jp
sqlite>
「.exit」コマンドでsqliteを抜ける。
sqlite> .exit
$
ここまででデータベースファイルの作成完了です。
Android Studioにコピペして、プログラムからアクセスできます。プログラムから使う方法は別記事「【ぶっちゃけAndroidアプリ開発】SQLiteデータベースにアクセスして画面に表示するサンプル」を参照。
##3.sqliteを使う上で知っておくべきコマンド類
###(1)ターミナルコマンド
$ sqlite3 データベース名
・データベースを作成、接続する。
###(2)sqliteコマンド
sqlite> .import csvファイル名 テーブル名
・csvファイルをインポートする。
sqlite> .show
・設定を表示する。
sqlite> .exit
・sqliteから抜ける。
sqlite> .separator ,
・セパレーターを「,」に変更する。
sqlite> .header on
・テーブルのデータを表示するときにカラム名を表示する。(見やすい)
sqlite> .mode column
・テーブルのデータを表示するときにカラムが揃えられる。(見やすい)
###(3)SQL文
sqlite> create table テーブル名(カラム名1 データ型1, カラム名2 データ型2, ...);
・テーブルを作成する。
sqlite> select * from テーブル名;
・テーブルのデータを全て表示する。
sqlite> delete from テーブル名;
・テーブルのデータを全て削除する。
###(4)データ型
sqliteで使用できるデータ型は以下の5つ。
TEXT テキスト型
INTEGER 整数型
REAL 浮動小数点型
BLOB バイナリーラージオブジェクト
NULL
ぶっちゃけAndroidアプリ開発は、アプリ開発にあたってとりあえず知っておくべきことをズバリ書きます。例外はありますのでご了承ください。
勉強中の身でありますので、誤りなどあればご指摘いただけると有り難いです。