SQLiteチュートリアル:あなたが知る必要があるすべて



このsqliteチュートリアルは、sqliteが他のリレーショナルデータベースシステムやすべての基本的なコマンドとどのように異なるかを理解するのに役立ちます

リレーショナルデータベースシステムを使用したことがある場合は、次のような一般的なデータベースシステムについて聞いたことがあるでしょう。 MySQL 、 サーバーまたは PostgreSQL 。 SQLiteは、セットアップと操作が非常に簡単なもう1つの非常に便利なRDBMSです。また、他のリレーショナルデータベースに比べて多くの異なる機能があります。このSQLiteチュートリアルでは、広範な実践的な実践の助けを借りて知っておく必要のある基本的な概念を学びます。

この記事で説明するトピックは次のとおりです。





SQLiteチュートリアル:SQLiteとは何ですか?

SQLiteの業界標準の定義は次のとおりです。

SQLiteは、アプリケーションに組み込まれるように設計された、オープンソースのゼロ構成の自己完結型のスタンドアロンのトランザクションリレーショナルデータベースエンジンです。

あなたは考えることができます SQLite として ' ライター 」バージョンの他の複雑なRDBMS(Oracle、 など)、データベースエンジンが構成されている場合 独立した処理(インプロセスライブラリ) つまり、 サーバーレス、自己完結型、ゼロ構成、トランザクション 。移植性、信頼性、および低メモリ環境でも強力なパフォーマンスで知られています。また、SQLiteは、クライアントサーバーDBエンジンが構成されている他のRDBMSとは異なり、エンドプログラムまたはアプリケーションのローカル/クライアントストレージ用の組み込みデータベースとして人気があります。



SQLiteの機能

SQLiteは、次のような多くの異なる機能を提供します。

  • サーバーレス: 最も SQLデータベース は別個のサーバープロセスとして実装されますが、SQLiteには別個のサーバープロセスがありません。サーバーレスデータベースエンジンです。通常のディスクファイルを直接読み書きします。
  • ゼロ構成: それ実行するために構成は必要ありません。つまり、クライアント/サーバーシステムのように、開始、停止、または構成する必要のあるサーバープロセスはありません。
  • マニフェストの入力: SQLiteはマニフェスト型付けを使用します。これにより、列の宣言されたデータ型に関係なく、任意の量の任意のデータ型を任意の列に格納できます。この規則には特定の例外があることに注意してください。
  • 軽量: 名前が示すように、SQLiteライブラリは非常に軽量です。使用するスペースは、インストールされているシステムによって異なりますが、600KiB未満のスペースしか使用できません。
  • ポータブル: 他のDBMSとは異なり、SQLiteデータベース全体が1つのファイルに保存されます。このファイルは、リムーバブルメディアまたはファイル転送プロトコルを介して非常に簡単に共有できます。
  • 多様な選択肢: 多くのプログラミング言語は、SQLiteのバインディングを提供します。 、 、 C# 、 、 、 ルビー 、 、 などなど。
  • 自由: SQLiteは無料でオープンソースです。 SQLiteを使用するために、商用ライセンスは必要ありません。

上記のようにSQLiteはゼロ構成で知られています。つまり、複雑なセットアップや管理は実際には必要ありません。このSQLiteチュートリアルの次のパートでは、システムにSQLiteをインストールする方法を見てみましょう。

SQLiteチュートリアル:WindowsへのSQLiteのインストール

従う手順は次のとおりです。



ステップ1: に移動します 公式SQLite ウェブサイトをクリックし、適切なリンクをクリックしてダウンロードしてくださいプリコンパイルされたバイナリ。

ステップ2: SQLiteコマンドラインzipファイルをダウンロードします(ここ: sqlite-tools-win32-x86-3270200.zip) 選択したフォルダでこれらのファイルを展開します。

このSQLiteコマンドラインツールには、次のSQLite製品が含まれます

  • SQLiteコア :SQLiteコアには、実際のデータベースエンジンとパブリックAPIが含まれています。
  • SQLite3コマンドラインツール :sqlite3アプリケーションは、SQLiteコアの上に構築されたコマンドラインツールです。
  • Tcl拡張 :このライブラリは基本的に、Tclバインディングが追加されたSQLiteコアのコピーです。
  • SQLiteアナライザーツール :SQLiteアナライザーツールは、データベースファイルの分析に使用されます。

ステップ3: その後、SQLiteコマンドラインを開始するのは、sqlite3アプリケーションをクリックするのと同じくらい簡単です。これにより、コマンドラインがポップアップ表示されます。

さらにテストしたい場合は、単に入力してください 。助けて からのコマンド sqlite> で使用可能なすべてのコマンドを表示するように求めるプロンプト sqlite3 以下のように。

注意: デフォルトでは、SQLiteセッションはインメモリデータベースを使用するため、セッションが終了するとすべての変更が失われます。

簡単でしょ?次に、SQLiteコマンドを使い始めましょう。

SQLiteチュートリアル:SQLiteコマンド

SQLiteチュートリアルのこのセクションでは、SQLiteで使用できる基本的なSQLステートメントを紹介します。

注意: SQLiteコマンドはセミコロン()で終わります。コマンドが完了し、実行する必要があることをSQLiteに通知します。また、コマンドを複数の行に分散し、最後の行でセミコロンを使用することもできます。

データベースコマンド

このセクションは、データベースを処理するためのコマンドで構成されています。コマンドは次のとおりです。

  • SQLiteデータベースの作成

SQLiteは、次のような他のリレーショナルデータベース管理システムのようにCREATEDATABASEステートメントを使用しません。 MySQL 、SQL Serverなど。SQLiteで新しいデータベースを作成するには、sqlite3に続けて、データベースに使用するファイルの名前を入力します。 T次のコードは、StudentDetails.dbというデータベースファイルを作成します。

sqlite3 StudentDetails.db sqlite> .databases main:D:sqliteStudentDetails.db
  • SQLiteアタッチデータベース

複数のデータベースがある場合、一度に使用できるのは1つだけです。 SQLiteでは、ATTACH DATABASEステートメントを使用して、現在の接続用に特定のデータベースをアタッチします。 Aこのコマンドの後、すべてのSQLiteステートメントは接続されたデータベースの下で実行されます。

sqlite> ATTACH DATABASE'DepartmentDetails.db 'AS'Department' sqlite> .databases main:D:sqliteStudentDetails.db Department:D:sqliteDepartmentDetails.db
  • SQLiteデタッチデータベース

SQLiteでは、DETACH DATABASEステートメントを使用して、ATTACHステートメントを使用して以前に接続されたデータベース接続からエイリアス名のデータベースを切り離します。同じデータベースファイルに複数のエイリアスが添付されている場合、このコマンドは指定された名前のみを切断し、残りの添付ファイルは引き続き存在します。インメモリデータベースまたは一時データベース内のデータベースは完全に破棄され、コンテンツは失われます。

sqlite> .databases main:D:sqliteStudentDetails.db Department:D:sqliteDepartmentDetails.db Student:D:sqliteStudentDetails.db DeptInformation:D:sqliteDepartmentDetails.db sqlite> DETACH DATABASE'Department 'sqlite> .databases main:D:sqliteStudentDetails.db学生:D:sqliteStudentDetails.db DeptInformation:D:sqliteDepartmentDetails.db

テーブルコマンド

ここでは、SQLiteを使用するときにテーブルを処理する方法を学習します。

  • SQL Create Table

SQLiteでは、CREATETABLEステートメントを使用して新しいテーブルを作成します。テーブルを作成するときに、テーブルに名前を付け、その列と各列のデータ型を定義する必要があります。

構文:

CREATE TABLE table_name(Column1 column_type [constraints] Column2 column_type [constraints] [.....])

CREATE TABLE StudentInfo(ID INT PRIMARY KEY NOT NULL、NAME TEXT NOT NULL、AGE INT NOT NULL、ADDRESS CHAR(50)、DEPARTMENTID INTEGER NOT NULL、PHONE TEXT DEFAULT'UNKNOWN '、FOREIGN KEY(DEPARTMENTID)REFERENCES DepartmentInfo(DeptID))

テーブルが作成されたかどうかは、を使用して確認できます。 .tables 以下に示すコマンド。私はすでにというテーブルを作成していることに注意してください DepartmentInfo ここで、DeptIDは主キーです。Departmentsテーブルには、Studentsテーブルに対する外部キー制約があります。

sqlite> .tablesStudentInfo連絡先Emp_Master
  • SQLiteドロップテーブル

SQLiteでは、DROP TABLEステートメントを使用して、SQLiteデータベースからテーブルを削除または削除できます。テーブルが削除されると、テーブルに含まれるすべてのデータがデータベースから完全に削除されます。関連するインデックスとトリガーもすべて削除されます。そのテーブルで有効になっている外部キー制約がある場合、それはテーブルの各行に対して同等に削除され、テーブルに関連付けられているトリガーもすべてドロップされます。

構文

DROP TABLE [IF EXISTS] table_name

DROP TABLE部門エラー:そのようなテーブルはありません:Department DROP TABLE Company sqlite> .tables StudentInfo

注意: IF EXISTSは、オプションの句です。指定した場合、テーブルの1つが存在しなくても、DROPTABLEステートメントはエラーを発生させません。

また、 SQLite AlterTableステートメント 、この記事の次のいくつかのセクションで理解します。テーブルを作成したので、データを挿入、削除、変更する方法を確認しましょう。

SQLiteチュートリアル:CRUD操作

  • SQLite挿入クエリ

テーブルを作成した後、SQLite Insert Intoコマンドを使用して、指定したテーブルに新しい行を作成できます。 SQLite挿入ステートメントには2つの意味のある形式があります。最初の形式では、VALUES句を使用して、挿入する値のリストを指定します。

構文

INSERT INTO TABLE_NAME [(column1、column2、column3、... columnN)] VALUES(value1、value2、value3、... valueN)

INSERT INTO StudentInfo(ID、NAME、AGE、ADDRESS、DEPARTMENTID、PHONE)VALUES(1、 'Dean'、20、 'California'、2、 '934 *******')

出力

SELECT * from StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 *******

ここでは、1つの新しい行が作成され、各値がそれぞれの列に記録されます。両方のリストに 同じ アイテムの数。ここでは、 列のリスト オプションです。テーブルにデータを挿入することもできます 列のリストを指定せずに

StudentInfo VALUES(2、 'SAM'、22、 'Texas'、2、 '976 *******')に挿入

出力

SELECT * from StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 *******

SQLiteは次の機能も提供します 複数の行を挿入します 単一のINSERTステートメントで。構文は次のとおりです。

StudentInfo VALUES(3、 'John'、23、 'Norway'、1、 '923 *******')、(4、 'Mitch'、22、 'Houston'、3、 '934 **に挿入***** ')

出力

* from StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | Texas | 2 | 976 ******* 3 | John | 23 | Norway | 1 |を選択します。 923 ******* 4 |ミッチ| 22 |ヒューストン| 3 | 934 *******

ご覧のとおり、出力の形式は以前のものとまったく同じではありません。では、SQLiteの出力形式をどのように変更しますか?結果が少し読みやすくなるように、出力をフォーマットしてみましょう。

  • 書式設定

.modeを使用して、出力モードを変更できます。上記の例では 。モード リスト。結果をリストとして表示します。また、あなたは使用することができます .headers 列ヘッダーを表示するかどうかを指定するステートメント。変更を加えると、を使用して設定を表示できます 。公演 コマンド。

sqlite> .mode'column 'sqlite> .headers on sqlite> .show echo:off eqp:off Explain:auto headers:on mode:column nullvalue:' 'output:stdout colseparator:' | ' rowseparator: 'n' stats:off width:filename:StudentDetails.db

出力

SELECT * FROM StudentInfo ID NAME AGE ADDRESS DEPARTMENT PHONE ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 ******* 3 John 23 Norway 1 923 ******* 4ミッチ22ヒューストン3934 *******
  • SQLiteSelectクエリ

SQLiteでは、Selectステートメントが使用されますテーブルからデータをフェッチします。テーブルは、結果テーブルの形式でデータを返します。これらの結果テーブルは、結果とも呼ばれます セット。 SQLite selectステートメントを使用すると、要件に基づいて簡単な計算または複数の式を実行できます。以前、データを挿入したときにSELECTステートメントを使用しました。

構文

SELECT [ALL | DISTINCT]結果[FROMテーブルリスト] [WHERE expr]
  • DISTINCT – selectステートメントでdistinctキーワードを使用すると、データの異なる行のみが返されます。
  • すべて – selectステートメントでALLキーワードを使用すると、重複している場合でも、データのすべての行が返されます。
  • FROMテーブルリスト –データを取得するテーブルのリストです。
  • WHERE式 – WHERE式は、テーブルから必要なデータを取得するためのカスタム条件を定義するために使用されます。

例1

SELECT ID、NAME FROM StudentInfo WHERE AGE<21

出力

ID名----------------- 1ディーン

例2

Select NAME FROM StudentInfo WHERE DEPARTMENTID =(SELECT DeptID FROM DepartmentInfo WHERE DeptName = 'Psychology')

出力

// IDが2の部門から人をフェッチしますNAME ---------- Dean SAM
  • SQLite更新クエリ

SQLiteでは、UPDATEステートメントを使用してテーブル内の既存のレコードを変更できます。SQLiteのWHERE句を使用して、更新する行を正確に指定できます。 WHERE句によって適用されるフィルタリング条件に応じて、すべての行、一部の行、またはなしを簡単に更新できます。

構文

UPDATE table_name SET column1 = value1、column2 = value2 ....、columnN = valueN WHERE [条件]

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

出力

SELECT * FROM StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 4 976 ******* 3 John 23ノルウェー1923 ******* 4ミッチ22ヒューストン3934 *******
  • SQLite削除クエリ

SQLiteでは、DELETEステートメントを使用してテーブルからレコードを削除できます。 WHERE句によって適用されるフィルタリング条件に応じて、すべての行、一部の行、またはなしを簡単に削除できます。

DepartmentInfo WHERE DeptName = 'Science'から削除

出力

SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1数学2心理学3スポーツ4音楽

外部キーによって参照されているレコードを削除しようとすると、エラーが発生します。主キーレコードを削除する前に、まず外部キーレコードを削除する必要があります。学科の科学を削除してみましょう。

DELETE FROM DepartmentInfo WHERE DeptName = 'Music'エラー:FOREIGNKEY制約が失敗しました

したがって、主キーを削除する前に、外部キーレコードを削除する必要があります。

DELETE FROM StudentInfo WHERE DEPARTMENTID = 4 sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music' sqlite> SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1数学2 Psychology 3 Sports SELECT * FROM StudentInfo ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ------- --- ------------ ---------- 1 Dean 20 California 2 934 ******* 3 John 23 Norway 1 923 ****** * 4ミッチ22ヒューストン3934 *******

これで、SQLiteデータベーステーブルのレコードを編集する方法がわかりました。このSQLiteチュートリアルブログでさらに進んで、SQLiteで最も頻繁に遭遇するさまざまな句と条件について説明しましょう。

Pythonで文字列を逆にする方法

SQLiteの句/条件

句を始める前に、SQLiteのSELECTステートメントの完全な構文を次に示します。

構文

SELECT [ALL | DISTINCT]結果[FROMテーブルリスト] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [compound-op select] * [ORDER BY sort-expr-list] [LIMIT integer [(OFFSET |、)integer ]]

注:以下に示すように、StudentInfoテーブルとDepartmentInfoテーブルを更新しました。

//学生テーブルIDNAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 3 John 23 Norway 1 923 ******* 4 Mitch 22ヒューストン3934 ******* 2 SAM22テキサス4976 ******* 5ジョニー23ノルウェー2945 ******* 6ロビン23ノルウェー2不明//部門の詳細DeptIDDeptName- --------- ----------- 1数学2心理学3スポーツ4音楽5科学
  • SQLite WHERE

SQLiteでは、WHERE句を使用して、データベース内のテーブルから必要なデータを取得するための1つ以上の条件を定義することにより、SELECTステートメントに制限を課します。指定された条件が満たされるか真である場合、テーブルから特定の値を返します。前に見たように、WHERE句はSELECTステートメントで使用されるだけでなく、UPDATE、DELETEステートメントなどでも使用されます。

StudentInfoから名前を選択WHEREAGE = 23NAME ---------- John Johny Robin

SQLiteには、WHERE句で使用できる関係演算子がいくつかあります。

  • SQLite GROUP BY

SQLiteでは、GROUP BY句を使用して、指定された1つ以上の列の値が繰り返される単一の行にデータを集約します。この句は、SELECTステートメントのWHERE句とともに使用され、ORDERBY句の前にあります。

構文

SELECT result FROM [table-list] GROUP BY [expr-list]
名前を選択し、StudentInfoからアドレスを名前名アドレスでグループ化---------- ---------- Dean California John Norway Johny Norway Mitch Houston Robin Norway SAM Texas

グループ化プロセスには2つのステップがあることに注意してください。まず、GROUP BY式を使用して、テーブルの行を異なるグループに配置します。グループが定義されると、SELECTステートメントはそれらのグループを単一の行にフラット化する方法を定義します。

  • SQLite ORDER BY

通常、SQLiteテーブルはデータを不特定の順序で格納し、SQLite selectステートメントを使用してデータをフェッチしている間、同じ不特定の順序でレコードを返します。このような場合、ORDER BY句を使用して、列レコードを昇順または降順で並べ替えることができます。以下の例では、アドレスに基づいてデータをグループ化し、降順で並べ替えています。

構文

SELECT式FROMテーブルリスト[WHERE条件] ORDER BY column1、column2、... [ASC | DESC]

SELECT ADDRESS、COUNT(ADDRESS)FROM StudentInfo GROUP BY ADDRESS ORDER BY ADDRESS DESC ADDRESS COUNT(ADDRESS)---------- -------------- Texas 1 Norway 3 Houston 1カリフォルニア1
  • SQLite HAVING BY

SQLiteでは、 持っている 条項はと同じです どこ 句。 HAVING句は、selectステートメントのgroupbyとともに集計が行われた後に適用される追加の条件です。一般的にSQLiteでは、 どこ 句は、テーブル内の個々の要素に条件を適用するために使用され、インクルード 持っている 句は、GroupBy句によって作成されたグループに基づいてフィルタ条件を追加するために使用されます。

SELECT ADDRESS、COUNT(ADDRESS)FROM StudentInfo GROUP BY ADDRESS HAVING COUNT(*)> 1 ADDRESS COUNT(ADDRESS)---------- -------------- Norway 3
  • SQLite制限句

SQLiteでは、LIMIT句を使用して、selectステートメントによって返されるレコードに制限を設定します。概念を理解するための例を考えてみましょう。

構文

SELECT式FROMテーブル-リスト[WHERE条件] LIMIT number_rows OFFSET offset_value

SELECT NAME、ADDRESS FROM StudentInfo LIMIT 4 OFFSET 2 NAME ADDRESS ---------- ---------- Mitch Houston SAM Texas Johny Norway Robin Norway

オフセットオプションであり、結果セットの先頭でスキップする行数を定義します。 offset_value

  • SQLite AND&OR

SQLiteでは、AND&OR演算子を使用して、要件に基づいて、select、insert、update、およびdeleteステートメントで複数の条件を実行します。 SQLite AND演算子は、AND演算子を使用して定義された条件を満たす行またはレコードを返します。

例1

StudentInfoから名前を選択WHEREAGE = 22 AND ADDRESS = 'Texas' NAME ---------- SAM

OR条件は、SQLiteステートメントで複数の条件を定義するために使用され、1つの条件のいずれかが満たされた場合、ステートメントから行またはレコードを返します。

例2

StudentInfoから名前を選択WHERE(AGE = 22 AND ADDRESS = 'Norway')OR ADDRESS = 'Norway' NAME ---------- John Johny Robin
  • SQLiteGLOB演算子

SQLiteでは、GLOB演算子を使用して、指定された文字列値が特定のパターンに一致するかどうかを確認します。文字列値がパターン値と一致する場合は、 true LIKE演算子に似ています。また、GLOBは 大文字と小文字を区別。

構文

SELECT * FROM table_name WHERE column_name GLOB '検索式'

SELECT * FROM StudentInfo WHERE NAME GLOB'Joh * 'ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- --- ------- ------------ ---------- 3 John 23 Norway 1 923 ******* 5 Johny 23 Norway 2 945 ** *****
  • SQLite Distinct

SQLiteでは、DISTINCTキーワードはSELECTステートメントの結果セットをスキャンし、重複する行を削除します。また、NULL値は重複と見なされるため、NULL値を持つ列でDISTINCT句を使用すると、NULL値の1行のみが保持されます。複数の列にDISTINCTを適用すると、ステートメントは次の一意の組み合わせを返します。 coulnm1 そして column2。

StudentInfoAGEからDISTINCTAGEを選択---------- 20 23 22
  • SQLiteIN演算子

SQLiteでは、IN演算子を使用して、指定された値が指定された値のリストと一致するか、サブクエリによって返される結果と一致するかを判別します。

StudentInfoから名前を選択WHEREADDRESS IN( 'Texas'、 'Houston')NAME ---------- Mitch SAM
  • SQLite UNION&UNION ALL

SQLiteでは、UNION演算子を使用して次の結果セットを結合します。 2 以上のSELECTステートメントを使用すると、さまざまなSELECTステートメント間の重複行が削除されます。 UNION演算子で使用したSELECTステートメントは、同様のデータ型の結果セットに同じ数のフィールドを持っている必要があることに注意してください。

構文

SELECT expression1、expression2、... expression_nFROMテーブル[WHERE条件] UNION / UNION ALL SELECT expression1、expression2、... expression_nFROMテーブル[WHERE条件]

SELECT DEPARTMENTID FROM StudentInfo UNION SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

UNION ALL演算子は、2つ以上のSELECTステートメントの結果セットを組み合わせるために使用され、重複を含むすべての行を返します。

SELECT DEPARTMENTID FROM StudentInfo UNION ALL SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

これで、SQLiteを操作するときに使用しなければならない可能性のある最も基本的なコマンドについて説明しました。このSQLiteチュートリアルを進めて、SQLiteのjoinステートメントを確認してみましょう。

SQLiteに参加

SQLiteでは、結合はデータベース内の2つ以上のテーブルのレコードを結合し、要件に基づいてレコードを取得するために使用されます。 DSQLiteで使用できるJOINSの種類は次のとおりです。

  • 内部結合 -INNER JOINは、SQLiteステートメントで定義された条件に基づいて、複数のテーブルから一致するレコードのみを結合して返すために使用されます。
  • アウタージョイン -SQLite外部結合は、同じように複数のテーブルから一致する行を選択します 内部結合 関係外のいくつかの他の行。簡単に言えば、SQLiteと言えますアウタージョインの追加です内部結合 一般に、SQL標準にはLEFT、RIGHT、およびFULL外部結合の3種類の外部結合がありますが、SQLiteはLEFT OUTERJOINのみをサポートします。
  • クロス結合 -これは、行のデカルト積を取得するために使用されます最初のテーブルの各行を2番目のテーブルのすべての行と照合します。
  • 自己結合 - それ同じテーブルをそれ自体と結合するために使用されます。自己結合を使用するには、同じテーブルに異なるエイリアス名を作成して、要件に基づいて操作を実行する必要があります。

概念は、SQLなどの他のリレーショナルデータベースシステムの概念と似ています。したがって、詳細については、この記事を参照してください。 。

これで、基本的なSQLiteコマンドについて説明しました。高度な概念はここではカバーされていません。したがって、SQLiteの高度な概念に関する別の記事をお楽しみに。 SQLiteが提供しなければならないすべての優れた機能を備えていても、特定の欠点もあります。

SQLiteチュートリアル:SQLiteのデメリット

以下にリストされているのは、SQLiteを使用することのデメリットです。

  • クライアント/サーバーアーキテクチャではうまく機能しません。
  • ほとんどの場合、SQLiteデータベースのサイズは2GBに制限されています。
  • SQLiteはRIGHTOUTERJOINとFULLOUTERJOINを実装していません。 SQLiteでは、LEFT OUTERJOINのみを実装できます。
  • SQLiteのビューは読み取り専用です。ビューでDMLステートメント(挿入、更新、削除)を使用することはできません。
  • SQLiteでGRANTステートメントとREVOKEステートメントを使用することはできません。

これで、このSQLiteチュートリアルは終了です。

あなたがについてもっと知りたいなら MySQL このオープンソースのリレーショナルデータベースを理解してから、 インストラクター主導のライブトレーニングと実際のプロジェクト経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

質問がありますか?このSQLiteチュートリアルのコメントセクションでそれについて言及してください。折り返しご連絡いたします。