Sqlite-overview
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 |
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つ以上のテーブルから特定のレコードを取得します |