SQLiteを使いこなす!基本操作マスター
SQLiteはシンプルで軽量なスタンドアローンデータベースです。データをファイルに保存するため、専用のサーバーやプロセスが不要で、簡単に導入・使用することができます。
本記事では、SQLiteの導入方法や基本的な使い方について解説します。
Windowsでの利用方法
Windowsでの利用方法です。
SQLiteのインストール
SQLiteより最新のSQLiteをダウンロードします。
- Download
- Precompiled Binaries for Windows>sqlite-tools-win32-x86-3390200.zip (2022.07.26時点)をダウンロード
ダウンロードしたファイルを解凍して任意のフォルダに格納します。
下記はC:\sqlite3
に格納した場合。
SQLiteツールは実行ファイルだけなので、これで利用可能となります。
データベース操作
データベースの操作には、コマンドラインツールsqlite3.exeを使用します。
データベースを作成する
次のコマンドでデータベースを作成します。 <データベース名>はデータベースのファイル名になります。(e.g. sample.db)
この時点でファイルは作成されません。テーブルを追加すると、ファイルが作成されます。
データベースに接続する
データベースに接続する場合も作成時と同じです。<データベース名>に既存のファイルを指定します。
データベースを抜ける
SQLファイルを実行する
SQL文を書いたファイル(.sql)をデータベースに適用したい場合は、次のようにコマンドを実行します。
Ubuntuでの利用方法
Ubuntuでの利用方法です。
SQLiteのインストール
データベース操作
データベースを作成する
作成と同時にデータベースに接続します。
データベースに接続する
作成時と同じコマンドです。
データベースを抜ける
データベース接続後の操作はWindows、Ubuntu共通です。
テーブル操作
テーブルの作成
次のようなSQL文でテーブルを作成します。
テーブルの削除
テーブル一覧を表示
create文を表示する
AUTOINCREMENTについて
AUTOINCREMENT
を指定する場合はINTEGER
かつPRIMARY KEY
を指定する必要があります。また、この場合はINT
の指定は不可で、INTEGER
としなければなりません。
データ型
指定できる型は次のとおりです。
定義名 | 内容 |
---|---|
NULL | NULL |
INTEGER | 符号付整数.INT の記述でも同じになる |
REAL | 浮動小数点数 |
TEXT | テキスト.VARCHAR の記述でも同じになる |
BLOB | バイナリデータ |
BOOLEAN
などの指定も可能です。BOOLEAN
の場合、実際にはINTEGER
で格納されます。true
を設定すれば1
、false
を設定すれば0
が格納されます。
日時データもTEXT
として格納されます。
データの格納について
定義した型と異なる値を格納してもエラーとなりません。その場合、行毎に型が異なります。
トリガー
更新日時などを自動で挿入したい場合は、トリガーを使用します。
下記はLOGS
テーブル更新後に、更新日時カラム(update_at
)を設定するトリガーです。
次のようなクエリを実行すると、update_at
に現在の日時が自動で設定されます。
AFTER
の代わりにBEFORE
を使うとトリガーをイベント実行前に実行します。
トリガー一覧の表示
トリガーの削除
データベースの最適化
SQLiteデータベースは、DELETE
やUPDATE
などによって空いたスペースを自動的に解放しないことがあります。そのため、レコードを削除したのにファイルサイズが小さくならない状況が発生します。
VACUUM
コマンドは、これらの空いたスペースを解放し、データベースファイルを最適化します。