【要点】SQLiteとは?を解消!初心者向けに特徴から使い方を解説

 

★悩み★
・SQLiteとは何?何ができるの?使い方は?
・SQLiteの特徴やどういった場面で使われるのかを知りたい。
・今からSQLiteを使いたいから、「すぐ実践できる使い方」を知りたい。



こういった「悩み」に答えます。
 

★本記事の内容★
① SQLiteとは?
② SQLiteの特徴(メリットとデメリット)
➂ SQLiteを使ったシステム開発の例3選
④ SQLiteの使い方(ダウンロードからテーブル作成まで)



これからご紹介する「【要点】SQLiteとは?を解消!初心者向けに特徴から使い方を解説」を熟読したことで、1時間以内で「SQLiteとは?の理解からデータ管理まで」をできるようになりました。
 

記事の前半では「SQLiteで何ができるか」や「特徴(メリット/デメリット)」を解説します。

記事の後半では「どのようなシステムを開発する場合に利用するのか?」や「ダウンロードからテーブル作成までの具体的なコマンド」を紹介します。
 

この記事を読み終えることで、「今すぐSQLiteを使ったシステム開発ができる」状態になります。
 

ちなみに、筆者が約2週間でSQLite3を学んだ方法や手順について以下で公開しています。皆様の学習の参考になれば嬉しいです。

>> SQLite3に0から入門し基本操作を習得するまでのロードマップ


 

 


 

SQLiteとは?


「SQLiteとは?」に関してご紹介します。
 

★ご紹介事項★
・SQLiteとは何か?できることは?
・SQLiteの概要(歴史/開発元/ライセンス)
・開発頻度
・注目度
・他のデータベースとの違い



以降で、上記「ご紹介事項」の各項目に関してご説明します。
 

SQLiteとは何か?できることは?

「SQLiteとは何か?できることは?」に関して解説します。
 

公式サイトや実務経験から「どういったツールなのか?」や「できることは?」に関して簡単に紐解いていきますね。



公式サイトでは、以下のように「SQLiteとは?」を説明しています。
 



少し難しい文言で「SQLiteとは何か?」を説明されています。

以下に簡単な文言に置き換えたものを記載しますね。
 

★SQLiteとは何か?★
SQLite(読み方:エスキューライト/エスキューエライト)は、「小型」/「高速」/「自己充足的」/「高信頼性」なSQLデータベースエンジンを実装したC言語ライブラリです。



SQLiteを使ってできることを簡単に言うと「作成したデータの格納」や「SQLで格納されたデータの更新/参照/削除」ができます(下図参照)。
 

できること



ちなみに、定義内に記載されているSQLの定義は以下となります。
 

★SQL(Structured Query Language)とは?★
SQLとは、リレーショナルデータベース(RDB:Relational Database)の管理や操作を行うための問い合わせ言語の一つ。
SQLを使うと、SQLiteなどのデータベースからデータを取得できます。
参照:SQLとは?(IT用語辞典)



データを保存したい場合、データベースである「SQLite」の利用を検討してみましょう。

 

SQLiteの概要(歴史/開発元/ライセンス)

「SQLiteの概要(歴史/開発元/ライセンス)」に関して説明します。
 

「いつから誰によって開発された?」や「無料で使えるの?」を順に紐解いていきますね。



SQLiteは、2000年にD. Richard Hippさんによって開発されました。
 

★歴史★
D. Richard Hippさんは、2000年の春、米国海軍との契約でGeneral Dynamicsに勤務していたときにSQLiteを設計しました。
その後、2000年8月に初版がリリースされ、今でも開発が継続されています。(2022年8月時点の最新バージョンは3.39.2)
参照:開発の歴史(Wikipedia)



現状のSQLiteの開発元は、「The SQLite Consortiumという団体」であり、以下のライセンスで開発されています。
 

★ライセンス★
パブリックドメイン(Public Domain)というライセンスになります。
商用または非商用問わず、誰でも自由にSQLiteの使用/販売ができます。
参照:ライセンスについて(公式サイト)



SQLiteは、完全無料で使えるデータベースです。
かなり昔から開発されているので、安定性は高いと考えます。

 

開発頻度

「開発頻度」に関して説明します。
 

個人や業務で使う場合、脆弱性などのバグが「どのぐらいの頻度で修正されるか」気になりますよね。以降で簡単に解説します。



SQLiteのコミュニティ(機能開発やバグ修正している団体)の活動状況は、以下のサイトで確認できます。
>> SQLiteのコミュニティ
 

上記のサイトから、「開発状況」や「修正頻度」を把握できます(下図)。

開発状況を見てみると「1週間に1回程度、何かしらの開発」を実施しているように見えます。

また、開発が継続して行われているため、脆弱性などがあった場合は比較的はやく修正されるソフトウェアだとも考えられます。
 

開発状況

 

個人的には、「バグなどが少なさそう」や「定期的に開発はされている」という観点から、個人や業務で使っても「問題ない」と考えています。


  

注目度

「注目度」に関して解説します。
 

データベース製品は数百種類あります。その中で、SQLiteがどのぐらい人気なのかをご紹介しますね。



データベース製品の注目度を知るうえで、「DB-Engines」のサイトが役に立ちます。
>> 注目度を確認できるDB-Enginesサイト
 

★DB-Enginesとは?★
DB-Enginesでは、「Google検索数」や「Stack Overflow」などの情報をもとにして、データベース製品の注目度をランキング形式で紹介しています。
参照:ランキング方法



DB-Enginesを確認したところ、SQLiteは「2022年8月10日時点では、10位」となっていました(下図参照)。
 

DB-Enginesにおける注目度

 

357製品中10位と、かなり業界で注目されていることが分かります。


 

他のデータベースとの違い

「他のデータベースとの違い」に関して解説します。
 

他のデータベースとして、PostgreSQLやMySQLなどがあります。
そういったデータベースとの違いを簡単にご紹介しますね。



他のデータベースとの違いは、ざっくりと以下の3つがあります。
 

★他のデータベースとの違い★
・ライブラリとして利用(常駐プロセスではない)
・セットアップなどの設定不要
・データ型を指定せずにデータ格納可能



ちなみに、MySQLやPostgreSQLでは、以下の記事に掲載されたような「セットアップ」や「常駐プロセスの起動」が必要です。
>> 【コピペOK】PostgreSQL14を5手順でインストールする方法
>> MySQLをyumでCentOS/RHELにインストールする方法

 

SQLiteとは、「完全無料「煩わしいセットアップ不要」「注目度が高い」データベース製品です。
以降で、メリットとデメリットに関してご紹介しますね。


 

SQLiteの特徴(メリットとデメリット)


今までご紹介した内容を踏まえて、SQLiteのメリットとデメリットをご紹介しますね。
 

実際に使ってみて、「4つのメリット」「3つのデメリット」があると感じました。



早速ですが、メリットは、以下だと考えます。
 

★メリット★
① 煩わしいセットアップなどが不要なためすぐ利用可能
  zipファイルを解凍するだけで利用できる状態になります。
  詳しくは、本記事の後半をご覧ください。
➁ マルチプラットフォームに対応
  Windows/Mac/Linux/Androidなどの環境で利用できます。
  参照:マルチプラットフォーム対応(公式サイト)
➂ 完全無料で利用可能
 ライセンスが「パブリックドメイン」なためです。
④ バックアップが簡単
  1ファイル内に様々なデータを格納します。
  そのため、その1ファイルをFTPなどでバックアップすれば良いです。



また、デメリットは、以下となります。
 

★デメリット★
① 日本語のドキュメントが少ない
  公式サイトには、日本語がないです。よって、英語スキルが問われます。
➁ セキュリティ機能がない
  例えば、パスワードが不正であればデータベースへのアクセスを
  遮断するといった機能はありません。
➂ 複数の同時書き込みができない
  例えば、プログラムAとプログラムBがテーブルCに対して同時に書き込む
  ということができません。


 

メリットとデメリットをしっかり把握することで、適切な場所でSQLiteを使うことができます。
続いて、SQLiteをよく利用するユースケースをご紹介しますね。


 

SQLiteを使ったシステム開発の例3選


「SQLiteを使ったシステム開発の例3選」に関してご紹介します。
 

★ご紹介事項★
・参照系のWEBアプリケーションで利用
・Androidなどの機器に組み込んで利用
・Skypeなどのクライアントアプリで利用



以降で、上記「ご紹介事項」の各項目に関してご説明します。
 

参照系のWEBアプリケーションで利用

「参照系のWEBアプリケーションで利用」に関して解説します。
 

SQLiteは「同時書き込みが弱い」という特性上、よく参照系に閉じたWEBアプリケーションで利用されます。



筆者は、業務や個人開発で様々なデータベースを利用します。

その際に、開発するものが参照系(SQLiteに頻繁にデータを書き込まない)がメインなシステムに関して、SQLiteを使います(下図参照)。
 

参照系WEBアプリケーションでの利用例



例えば、以下のWEBアプリケーションでは、SQLiteを使っています。
>> SQLiteを使っているサイト例

 

Androidなどの機器に組み込んで利用

「Androidなどの機器に組み込んで利用」に関して解説します。
 

SQLiteは、Android端末に組み込むことができます。



Android端末内にSQLiteを組み込むことができるため、Androidアプリで作成されたデータをSQLiteに格納できます(下図参照)。
 

Androidで利用する例


 

Skypeなどのクライアントアプリで利用

「Skypeなどのクライアントアプリで利用」に関して解説します。
 

どのようなプラットフォームでもSQLiteは動作するため、クライアントアプリでよく利用されています。



SQLiteは、以下の有名クライアントアプリで利用されているらしいです。
 

★クライアントアプリで利用している例★
・Skype
・iTunes
・Dropbox
参照:利用例(公式サイト)


 

事例を見た限りでは、主に「データを高頻度に格納しない」「複数人が同時にデータを格納しない」「参照系がメイン」で使われているイメージです。
以降で、SQLiteの使い方を説明しますね。


 

SQLiteの使い方(ダウンロードからテーブル作成まで)


「SQLiteの使い方(ダウンロードからテーブル作成まで)」に関してご紹介します。
 

★使い方(ダウンロードからテーブル作成まで)★
手順1:SQLiteをダウンロード
手順2:テーブルを作成
手順3:データを追加(INSERT)
手順4:追加したデータを取得(select)



以降で、上記の各手順に関してご説明します。
 

手順1:SQLiteをダウンロード

「手順1:SQLiteをダウンロード」に関して説明します。
 

SQLiteを使うためには、公式サイトからzipファイルをダウンロードして、解凍する必要があります。



SQLiteをダウンロードする手順は、以下の記事をご覧ください。

>> 【最短5分】SQLiteをWindowsへインストールする方法(6枚で図解)

>> 【コピペOK】SQLite3をインストールする手順【Linux向け】

>> 【コピペOK】SQLite3をインストールする手順【Ubuntu向け】

>> 【コピペOK】SQLite3をインストールする手順【MacOS向け】


以上が、「手順1:SQLiteをダウンロード」となります。
 

手順2:テーブルを作成

「手順2:テーブルを作成」に関して説明します。
 

SQLiteでデータを格納するためには、格納先であるテーブルの作成が必要です。



テーブルを作成する手順に関しては、以下の記事をご覧ください。
>> 【簡単】SQLite3でテーブルを作成する手順(create table文を解説)
 

以上が、「手順2:テーブルを作成」となります。
 

手順3:データを追加(INSERT)

「手順3:データを追加(INSERT)」に関して解説します。
 

SQLiteで作成したテーブルにデータを格納してみましょう。



データを格納する手順に関しては、以下の記事をご覧ください。
>> 【コピペOK】SQLite3でデータを追加(INSERT)する3つの方法
 

以上が、「手順3:データを追加(INSERT)」となります。
 

手順4:追加したデータを取得(select)

「手順4:追加したデータを取得(select)」に関して説明します。
 

SQLiteのテーブルに格納したデータを取得してみましょう。



データを取得する手順に関しては、以下の記事をご覧ください。
>> 【コピペOK】SQLite3でデータを取得(select)する3つの方法
 

以上が、「手順4:追加したデータを取得(select)」となります。
 

実際に触ってみたことで、「Herokuの使い方って要点を抑えれば簡単では?」と思いませんでしたか?
是非、その感覚を忘れずに開発現場や個人開発で活用してみてください。


 

【まとめ】SQLiteとは?を解消!初心者向けに特徴から使い方を解説


いかがでしたでしょうか?

上記で紹介した「SQLiteとは?」「メリットとデメリット」を理解していただくと、今後SQLiteの操作や使い方で悩むことは一切なくなり、SQLiteを適切な場面で利用できます。

最後にもう一度内容を確認しましょう。
 

★SQLiteとは?のおさらい★
・「無料」「煩わしいセットアップ不要」「注目度が高い」データベース
・マルチプラットフォームで使え、バックアップが簡単
・日本語ドキュメントが少なく、セキュリティ機能が弱い
・ダウンロードしてzipを解凍することですぐに使える



さらに体系的に学習したい方は、以下の記事をご覧ください。
>> 【入門】SQLite3の使い方を体系的に学習する方法を解説【無料】


 

 


 

コメント