SQLiteとはオープンソースでパブリックドメインの軽量なリレーショナル型データベース管理システム(RDBMS)。「小さく」「 高速で」「 自己完結型で」 「信頼性が高く」「 フル機能」を掲げたSQLデータベースエンジンを実装するC言語ライブラリです 。この記事ではSQLiteを理解するために歴史や特徴、基本的なコマンドなどを簡単に解説していきます。
SQLiteとはオープンソースでパブリックドメインの軽量なリレーショナル型データベース管理システム(RDBMS)です。開発者は「ドウェインリチャード・ヒップ氏」というプログラマーです。SQLiteは他のDBMSと違い、主にソフトウェアに組み込まれておりその一部として動作します。容易にソフトウェア内にDBMSを搭載できるというメリットがあります。他にも特徴として「軽量で早い」「マルチプラットフォーム」「データ型を指定しない」などが挙げられます。
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
SQLの歴史や特徴について解説された記事はこちら>>
データベースとは様々な情報を整理し効率よく使用するために格納するデータの集合体のことです。データベースには様々なデータを効率よく管理するための機能が用意されております。また大量のデータを高速に処理することも可能です。用途は様々で顧客管理や在庫管理などの複数のデータを取り扱うことが必要とされる業務に使用されます。主なデータベースの種類としてOracleDBやMySQLなどが挙げられます。
データベースの種類や特徴を解説している記事はこちら>>
DBMSとはデータベースを構築するためにデータベースの運用、管理を実行するためのシステムです。代表的な製品としてOracle Database、SQL Server、MySQLなどが挙げられます。
DBMSの歴史や種類を解説している記事はこちら>>
SQLiteの読み方は『エスキューライト』です。SQLiteの名前の由来は見つかりませんでしたが、公式サイトに「小さく、 高速で、 自己完結型で…」がコンセプトと記されていることから「SQL」+「小さく(Lite)」という造語であるのではないかと推測されます。
SQLiteはドウェインリチャード・ヒップ氏によって開発され2000年8月に初版がリリースされました。開発者であるプログラマーのドウェインリチャード・ヒップ氏は2000年の春に米国海軍との契約でジェネラルダイナミクスに勤務しながらSQLiteを設計したようです。
初版リリースの翌年2001年にはバージョン2.0「B-Treeストレージエンジン」をリリースしました。2004年にはバージョン3.0「バイナリデータのサポート」をリリースしました。
誕生から度重なるバージョンアップを重ねており、現在の最新バージョンは3.34.1となっております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2000年8月 | 『SQLite 初版』リリース |
2001年 | 『SQLite 2』リリース B-Treeストレージエンジン |
2004年 | 『SQLite 3』リリース バイナリデータのサポート |
2005年 | 『SQLite 3.1.0』リリース 自動真空サポートが追加 |
2007年 | 『SQLite 3.5.0』リリース |
2016年 | 『SQLite 3.10.0』リリース |
2019年 | 『SQLite 3.30.0』リリース |
2021年1月 | 『SQLite 3.34.1』リリース |
SQLiteの特徴を見ていきましょう。
SQLiteはパブリックドメインという特徴があります。パブリックドメインとは日本語訳をすると公有と意味があります。ようするにSQLiteはコアソースコードのいかなる部分についても、著作権の主張をしていません。誰でも自由に合法的にSQLiteのソースコードを使うことができます。
SQLiteは小さく軽量で早いという特徴があります。本体のファイルサイズは600KBを超えるものではなく消費メモリも少ないことから処理性能が低いデバイスへも組み込めます。
SQLiteはマルチプラットフォームという特徴があります。SQLiteは外部ライブラリへの依存性が低くPC・サーバーのみならずスマートフォンなど様々なOSに対応しております。
SQLiteはデータ型を指定しないという特徴があります。ほとんどのRDBMSはテーブル定義の際にデータ型の指定が必要です。一方、SQLiteはデータ型を指定しない方式のため、、1つのカラムの中にさまざまなデータ型の値を格納することが可能です。
SQLiteの基本的なコマンドを以下の表にまとめておりますのでご覧ください。
カテゴリ | 内容 | コマンド |
インストール | sqlite3をインストール | > sudo port install sqlite3 |
接続 | データベースへ接続 | $ sqlite3 test.sqlite3 |
終了 | データベースを終了 | sqlite> .exit |
データベース | データベース一覧の表示 | sqlite> .databases |
データ | データのインポート | sqlite> .separator sqlite> .import |
データのエクスポート | sqlite> .headers on — 任意 sqlite> .mode csv sqlite> .output sqlite> select * from |
|
テーブル | テーブル一覧の表示 | sqlite> .table |
スキーマを表示 | sqlite> .schema |
|
SQL | 外部SQLファイルを実行 | sqlite> .read test.sql |
create | sqlite> create table |
SQLiteを理解するために歴史や特徴、基本的なコマンドなどを簡単に解説させて頂きました。SQLiteを一言で表すと『オープンソースでパブリックドメインの軽量なリレーショナル型データベース管理システム(RDBMS)』です。SQLiteの特徴として「小さく軽量で早い」「マルチプラットフォーム」「データ型を指定しない」などが挙げられます。SQLiteについてこの記事で記載されている最低限の内容は理解しておくようにしましょう。