カテゴリー
Kotlin言語

SQLite のきほん

SQLite3 のデータベースファイルを Windows 上で作成してみます


SQLite はデータベース(RDBMS)です。Android にも搭載されていますね

  • SQLite はサーバーを用意せずにいきなり使える軽くて高性能なデータベースです
  • Android には SQLite が用意されており、アプリから自由に利用できます
  • Android アプリでは Room というライブラリ(ORMライブラリ:Object-Relational Mapping Library)を介して SQLite を使うのがおすすめです
  • SQLite のデータベースファイルは、Windows / Mac / Linux など他の OS 上で作成しておくことができます

Windows へ SQLite をインストール

解凍するだけですぐに使えます

  1. SQLite のサイトでコマンドライン版をダウンロードします
    • 公式サイトPrecompiled Binaries for Windows にある sqlite-tools-win32-x86-なんとか.zip をクリックしてダウンロードします
  2. 適当なフォルダに解凍するだけで利用できます

SQLite の起動と終了

今回はコマンドプロンプトで利用します

  1. Windows のコマンドプロンプトを開いて、SQLite を解凍したフォルダに移動します(cd コマンド)
  2. 「sqlite3 データベースファイル名」とすれば起動します
    • データベースファイルが見つからないときは新規作成されます
    • プロンプトが「sqlite>」になります
  3. 「.exit」と入力すると終了します

テーブルの作成

データの構造を定義するのに使う部分をデータ定義言語(DDL:Data Definition Language)って言うことがあります

  • SQL言語を使ってテーブルを作成してみます
  • テーブル mytable を作成します。テーブルに保存されるデータ(レコード)には整数型の id と data 、テキスト型の name の3つのフィールド(カラム)を作成してみます

手順

  1. 「sqlite3 データベースファイル名」として起動します
  2. 「create table mytable(id integer, name text, data integer);」とします

注意

  • SQL(の予約語)では大文字と小文字を区別しません
  • sqlite3 のレコードに保存できるデータの型は INTEGER、REAL、TEXT、BLOB(データそのままの型)、NULL の 5 つです。カラムにデータ型を指定しないこともできます(なんと)
  • id を主キーに設定するときは「create table mytable(id integer primary key, name text, data integer);」とします
  • テーブルの作成には create、テーブルの削除には drop、テーブルの変更には alter を使います
  • 「.tables」とすると、作成済みのテーブルが確認できます

テーブルからのデータ取得

データを操作するのに使う部分はデータ操作言語(DML:Data Manipulation Language)って言ったりします

手順

  1. 「sqlite3 データベースファイル名」として起動します
  2. 「select * from mytable;」とします

注意

  • SQL はデータベースを操作するためのコマンドのような言語です
  • データを取得するときの基本は「select * from テーブル名;」です。データの取得は select、データの更新は update、データの削除は delete、データの挿入は insert を使います

外部ファイルに記述した SQL を実行する

データベースの操作をまとめて実行できます

外部ファイル(たとえば test.sql)に SQL を記述して実行することもできます

方法1

  1. Windows のコマンドプロンプトを開いて sqlite をインストール(解凍)したフォルダに移動します(cdコマンド)
  2. 「sqlite3 データベースファイル名 < test.sql」とします

方法2

  1. Windows のコマンドプロンプトを開いて sqlite をインストール(解凍)したフォルダに移動します(cdコマンド)
  2. 「sqlite3 データベースファイル名」を実行すると、プロンプトが「sqlite>」になります
  3. 「.read test.sql」とします

CSVファイルをテーブルに読み込む

エクセル(表計算)で作ったデータをデータベースに流し込めますね

外部ファイルとした用意した CSV ファイル(コンマで区切ったテキストデータファイル)の内容を、テーブルに流し込んでみます

  1. Windows のコマンドプロンプトを開いて sqlite をインストール(解凍)したフォルダに移動します(cdコマンド)
  2. 「sqlite3 データベースファイル名」を実行すると、プロンプトが「sqlite>」になります
  3. 「.mode csv」として、モードを切り替えます
  4. 「.import CSVファイル名 テーブル名」とするとテーブルに読み込まれます