5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ぶっちゃけAndroidアプリ開発】sqliteでデータベースを作成する

Last updated at Posted at 2019-12-30

とりあえずsqliteでデータベースを作成したい人のためのTipsです。
csvからインポートしてデータベースを作成します。

<使用環境>
・Macbook Pro
・バージョン10.15.2(Catalina)

##1.csvファイル

test.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アプリ開発は、アプリ開発にあたってとりあえず知っておくべきことをズバリ書きます。例外はありますのでご了承ください。
勉強中の身でありますので、誤りなどあればご指摘いただけると有り難いです。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?