SQLite-概要

この章は、SQLiteとは何か、SQLとの違い、必要な理由、アプリケーションデータベースの処理方法を理解するのに役立ちます。

SQLiteは、自己完結型のサーバーなしのゼロ構成のトランザクションSQLデータベースエンジンを実装するソフトウェアライブラリです。 SQLiteは、最も急速に成長しているデータベースエンジンの1つですが、人気の点では成長しているので、そのサイズとは関係ありません。 SQLiteのソースコードはパブリックドメインです。

SQLiteとは何ですか?

SQLiteは、自己完結型のサーバーなしのゼロ構成のトランザクションSQLデータベースエンジンを実装するインプロセスライブラリです。 これは、ゼロ構成のデータベースです。つまり、他のデータベースと同様に、システムで構成する必要はありません。

SQLiteエンジンは、他のデータベースのようなスタンドアロンプ​​ロセスではなく、要件に応じて静的または動的にアプリケーションとリンクできます。 SQLiteはストレージファイルに直接アクセスします。

なぜSQLiteなのか?

  • SQLiteでは、個別のサーバープロセスまたはシステムを操作する必要はありません(サーバーレス)。
  • SQLiteにはゼロ構成が付属しているため、セットアップや管理は不要です。
  • 完全なSQLiteデータベースは、単一のクロスプラットフォームディスクファイルに保存されます。
  • SQLiteは非常に小さく軽量で、完全に構成された400KiB未満、またはオプション機能を省略した250KiB未満です。
  • SQLiteは自己完結型であるため、外部依存関係はありません。
  • SQLiteトランザクションはACIDに完全に準拠しており、複数のプロセスまたはスレッドから安全にアクセスできます。
  • SQLiteは、SQL92(SQL2)標準にあるクエリ言語機能のほとんどをサポートしています。
  • SQLiteはANSI-Cで記述されており、シンプルで使いやすいAPIを提供します。
  • SQLiteは、UNIX(Linux、Mac OS-X、Android、iOS)およびWindows(Win32、WinCE、WinRT)で使用できます。

SQLite Aの簡単な歴史

  • 2000-D. Richard Hippは、プログラムを操作するために管理を必要としない目的でSQLiteを設計しました。
  • 2000-8月、SQLite 1.0がGNUデータベースマネージャーと共にリリースされました。 *2011-Hippは、SQLite DBにUNQlインターフェイスを追加し、UNQLite(ドキュメント指向データベース)を開発することを発表しました。

SQLiteの制限

SQLiteには、次の表にリストされているSQL92のサポートされていない機能がほとんどありません。

Sr.No. Feature & Description
1
  • RIGHT OUTER JOIN*

LEFT OUTER JOINのみが実装されます。

2

FULL OUTER JOIN

LEFT OUTER JOINのみが実装されます。

3

ALTER TABLE

ALTER TABLEコマンドのRENAME TABLEおよびADD COLUMNバリアントがサポートされています。 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINTはサポートされていません。

4

Trigger support

FOR EACH ROWトリガーはサポートされていますが、FOR EACH STATEMENTトリガーはサポートされていません。

5

VIEWs

SQLiteのVIEWは読み取り専用です。 ビューでDELETE、INSERT、またはUPDATEステートメントを実行することはできません。

6

GRANT and REVOKE

適用できるアクセス許可は、基になるオペレーティングシステムの通常のファイルアクセス許可のみです。

SQLiteコマンド

リレーショナルデータベースとやり取りする標準のSQLiteコマンドは、SQLに似ています。 それらは、CREATE、SELECT、INSERT、UPDATE、DELETE、およびDROPです。 これらのコマンドは、動作特性に基づいてグループに分類できます-

DDL-データ定義言語

Sr.No. Command & Description
1

CREATE

データベースに新しいテーブル、テーブルのビュー、またはその他のオブジェクトを作成します。

2

ALTER

テーブルなどの既存のデータベースオブジェクトを変更します。

3

DROP

テーブル全体、テーブルのビュー、またはデータベース内の他のオブジェクトを削除します。

DML-データ操作言語

Sr.No. Command & Description
1

INSERT

レコードを作成します

2

UPDATE

レコードを変更します

3

DELETE

レコードを削除します

DQL-データクエリ言語

Sr.No. Command & Description
1

SELECT

1つ以上のテーブルから特定のレコードを取得します