
アプリ開発ではデータベースが必要だけど、簡単に導入できる方法はあるの?
アプリ開発ではデータベースの存在は不可欠です。
今回は導入も簡単なSQLite3をGo言語で使用できる環境構築を行います。
順番通りに作業していくことで大事ですので、焦らずに作業を行っていきましょう。
SQLiteとは
SQLiteは軽量のデータベース管理システム(RDBMS)で、オープンソースで配布されています。
Liteと名が付くように簡易的なRDBMSで、アプリケーションに組み込んで利用できるのが特徴です。
MySQLやPostgreSQLなどのRDBMSはサーバー型で導入も少し難しいですが、データベースを初めて扱う方にとっては導入も簡単なSQLiteからスタートするのが望ましいでしょう。
SQLiteの特徴として以下にまとめます。
SQLiteは簡易的なRDBMSですが、基本的なSQL文を学習するのにも適しています。
Go言語でSQLiteが使用できるまでの流れ
作業を行う前に、Go言語でSQLiteが使用できるまでの流れを確認していきましょう。
- STEP1SQLite3本体をインストール
すでに導入済みの場合は不要
- STEP2gccのインストール
次の作業で
go-sqlite3
をインストールするために必要
すでに導入済みの場合は不要 - STEP3go-sqliteのインストール
GoでSQLiteを使用するためのドライバ
以上になります。
順番通りに行わないと、エラーで無駄な時間を過ごすことになりますのでご注意ください。
【ubuntu系Linux向け】GoでSQLite3を使用する
私のパソコンで使用しているOSがLinuxMintなので、ubuntu系Linuxの環境構築からお伝えします。
SQLite3本体をインストール
SQLite3のインストールは下記のコマンドを入力しましょう。
sudo apt -y update
sudo apt -y install sqlite3
ターミナルで sqlite3 --version
と入力し、SQLite3がインストールされているかを確認しましょう。
$ sqlite3 --version
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
下記の方法でもOKです!
ターミナルで sqlite3
と入力しSqlite3を起動して確認する。
$ sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
終了するには .exit
を入力しましょう。
gccのインストール
Linuxディストリビューションによっては、すでにインストールされていると思います。
まずは、gccがインストールされているか確認しましょう。
ターミナルで gcc --version
と入力し、バージョン情報が表示されていれば大丈夫です。
$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
もし、バージョン情報が表示されていない場合はgccがインストールされていませんので、下記のようにターミナルで入力してください。
sudo apt -y update
sudo apt -y install build-essential
そして、改めて gcc --version
と入力してバージョン確認してみましょう。
go-sqliteのインストール
ターミナルで go get github.com/mattn/go-sqlite3
と入力して実行すると、インストールは完了します。
$ go get github.com/mattn/go-sqlite3
go: downloading github.com/mattn/go-sqlite3 v1.14.8
go get: added github.com/mattn/go-sqlite3 v1.14.8
【Mac向け】GoでSQLite3を使用する
Macの方向けのGoでSQLite3を使用できる環境を構築していきましょう。
Homebrewをインストール
インストール済みの方は不要です!
ターミナルを開き、下記のコマンドを入力してインストールしましょう。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
SQLite3本体をインストール
ターミナルを開き brew install sqlite
と入力します。
brew install sqlite
インストールの確認として sqlite3
と入力してSQLite3を立ち上げます。
$ sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
無事にインストールが確認できたら .exit
でSQLite3を終了しましょう。
gccのインストール
Macの方はgccのインストールでXcodeをインストールする必要があります。
- STEP1Xcodeをインストール
AppStoreからXcodeをインストール
- STEP2Xcodeのコマンドラインツールをインストール
xcode-select --install
- STEP3gccのインストール確認
$ gcc --version
gccのバージョンが確認されればOKです。
go-sqliteのインストール
ターミナルで go get github.com/mattn/go-sqlite3
と入力して実行すると、インストールは完了します。
$ go get github.com/mattn/go-sqlite3
go: downloading github.com/mattn/go-sqlite3 v1.14.8
go get: added github.com/mattn/go-sqlite3 v1.14.8
【Windows向け】GoでSQLite3を使用する
SQLite3のインストール
SQLite公式サイトよりSQLiteをダウンロードします。

ダウンロードしたファイルを解凍し sqlite3
に名前を変更。
sqlite3
フォルダをCドライブの直下に移動します。
コマンドプロンプトを立ち上げて、sqlite3
フォルダまで移動して sqlite3
と入力しましょう。
$ sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .exit
確認できたら .exit
で抜けます。
gccのインストール
tdm-gccの公式サイトからファイルをダウンロードします。
ファイルは、あなたのWindowsOSのビット数に合っているものをダウンロードしてください。
exeファイルをダブルクリックし、最初の画面で CREATE を選択することでインストールできます。
go-sqliteのインストール
コマンドプロンプトで go get github.com/mattn/go-sqlite3
と入力して実行すると、インストールは完了します。
$ go get github.com/mattn/go-sqlite3
go: downloading github.com/mattn/go-sqlite3 v1.14.8
go get: added github.com/mattn/go-sqlite3 v1.14.8
UUIDを作成するパッケージをインストールする【各OS共通】
世界でひとつしかない番号の UUID
を作成するサードパーティ製のパッケージもインストールしておきましょう。
例えば、データベースでユーザー管理したい時にユーザーへ固有の識別子を与えたい時などで UUID
を使用します。
インストールは簡単で、Mac・Linuxの方はターミナルをWindowsの方はコマンドプロンプトを立ち上げてgo get "github.com/google/uuid"
と入力して実行するだけです。
$ go get "github.com/google/uuid"
go: downloading github.com/google/uuid v1.3.0
GoでSQLiteを使ってアプリ開発への一歩を踏み出そう!
Go言語に限らず他のプログラミング言語でも、アプリ開発ではデータベースの存在が不可欠です。
まずはSQLiteでSQL文の基本を理解して、サーバー型のMySQLやPostgreSQLなどに挑戦していきましょう。

SQL文はアプリ開発において、プログラミング言語の習得よりも大事だと私は思っています。
データベースを使用できる環境が整ったので、アプリ開発の一歩を踏み出しましょう!
comment