SQLite3の基本的な使い方

1. SQLite3 は、ローカル ディスクにデータを保存できる軽量のリレーショナル データベースです。SQLite3 の基本的な使用法と構文は次のとおりです。

  1. データベースを開く コマンド ライン ツールまたは SQLite クライアント ツールを使用して、次のような SQLite データベース ファイルを開きます。

    sqlite3 mydatabase.db

    ファイルが存在しない場合は、新しいデータベース ファイルが自動的に作成されます。

  2. テーブルの作成 CREATE TABLE コマンドを使用して、新しいテーブルを作成します。次に例を示します。

    CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER );

    上記のステートメントは、id、name、age の 3 つの列を持つ「users」というテーブルを作成します。

  3. データの挿入 INSERT INTO コマンドを使用して、新しいデータ行を挿入します。次に例を示します。

    INSERT INTO users (name, age) VALUES ('Alice', 25);

    上記のステートメントは、「users」テーブルに新しいデータ行を挿入します。この行には、名前と年齢の 2 つの列が含まれています。名前は「Alice」、年齢は 25 です。

  4. データのクエリ SELECT ステートメントを使用して、テーブル内のデータ行をクエリします。次に例を示します。

    SELECT * FROM users;

    上記のステートメントは、「users」テーブル内のすべての行を返します。

  5. データの更新 UPDATE ステートメントを使用して、テーブル内のデータ行を更新します。次に例を示します。

    UPDATE users SET age = 26 WHERE name = 'Alice';

    上記のステートメントは、「users」テーブルの「Alice」という名前の行の年齢列を 26 に更新します。

SQLite データベース内の特定のデータの特定の値を変更する場合は、UPDATE ステートメントを使用できます。

UPDATE ステートメントを使用すると、1 つ以上の列の値を更新でき、WHERE 句を使用して更新する特定の行を指定できます。基本的な UPDATE ステートメントの構文は次のとおりです。

UPDATE table_name SET column1 = new_value1, column2 = new_value2 WHERE some_column = some_value;

ここで、table_nameは更新するテーブルの名前、column1とcolumn2は更新する列の名前、new_value1とnew_value2はこれらの列の値を更新する新しい値です。WHERE 句は更新する特定の行を指定するために使用され、some_column は行の指定に使用される列の名前、some_value はその列の値です。

たとえば、 users テーブル内の ID 1 のユーザーの電子メールを「[email protected]」に更新する場合は、次のステートメントを使用できます。

UPDATE users SET email = '[email protected]' WHERE id = 1;

WHERE 句がない場合は、すべての行が更新されることに注意してください。したがって、更新する特定の行のみが更新されるように、データを更新する前に必ず WHERE 句を指定してください。

6. データの削除 DELETE FROM ステートメントを使用して、テーブル内のデータ行を削除します。次に例を示します

DELETE FROM users WHERE name = 'Alice';

上記のステートメントは、「users」テーブル内の「Alice」という名前の行を削除します。

        SQLite では、データを削除する方法がいくつかあります。

  1. 単一または複数の行を削除するには、DELETE ステートメントを使用します。
  2. テーブル全体を削除するには、DROP TABLE ステートメントを使用します。
  3. TRUNCATE TABLE ステートメントを使用して、テーブル全体のすべての行を削除します。
  4. VACUUM コマンドを使用して未使用のスペースを再利用し、削除された行によって占められていたスペースを削除します。

各方法の詳細な手順は次のとおりです。

  1. 単一または複数の行を削除するには、DELETE ステートメントを使用します。

    DELETE FROM tableName WHERE condition;

    ここでtableName、 はデータを削除するテーブルの名前であり、 はcondition削除する行を指定する WHERE 句の条件です。WHERE 句が空の場合、テーブル内のすべての行が削除されます。

  2. テーブル全体を削除するには、DROP TABLE ステートメントを使用します。

    DROP TABLE tableName;

    ここで、tableNameは削除するテーブルの名前です。

    注: DROP TABLE を使用すると、テーブル構造とデータを含むテーブルが完全に削除されるため、このステートメントを使用する前に、テーブル全体を本当に削除するかどうかを確認してください。

  3. TRUNCATE TABLE ステートメントを使用して、テーブル全体のすべての行を削除します。

    TRUNCATE TABLE tableName;

    その中には、tableNameデータを消去するテーブルの名前が含まれています。

    注: TRUNCATE TABLE は、テーブル内のすべての行を削除しますが、テーブル自体は削除せず、削除された行の数も返さないという点で DELETE とは異なります。また、TRUNCATE TABLE はテーブルに対して DELETE トリガーまたは UPDATE トリガーをトリガーしません。

  4. VACUUM コマンドを使用して未使用のスペースを再利用し、削除された行によって占められていたスペースを削除します。

    VACUUM;

    VACUUM コマンドは、テーブルの物理ストレージを再編成し、未使用の領域を再利用し、削除された行をテーブルから完全に削除します。これにより、未使用の領域がオペレーティング システムに解放されるため、データベース ファイルが小さくなる可能性があります。

7. データベースを閉じる .exit コマンドを使用するか、SQLite クライアント ツールを閉じて、データベース接続を閉じます。

以上がSQLite3の基本的な使い方と構文です。実際の使用では、SQLite の C/C++ API または他のプログラミング言語の SQLite パッケージ ライブラリを通じて SQLite データベースと対話できます。

2. SQLite は次のデータ型をサポートします。

  1. NULL: 空の値。
  2. INTEGER: 値のサイズに応じて、1、2、3、4、6、または 8 バイトで構成される符号付き整数。
  3. REAL: 浮動小数点数。8 バイトの IEEE 浮動小数点数として格納されます。
  4. TEXT: エンコーディングで保存された文字列。
  5. BLOB: 入力として保存されるバイナリ データ。

VARCHAR は、リレーショナル データベースの一般的な列の型であり、SQLite の列の型の 1 つです。可変長文字列を格納するために使用されます。CHAR 型とは異なり、VARCHAR 型は記憶域に必要な領域のみを使用し、固定領域を事前に割り当てません。VARCHAR の最大長はデータベースの制限によって異なりますが、通常は 65535 文字です。

SQLite では、VARCHAR 列型は TEXT 型に置き換えることができます。これらは同義語であり、実際には違いはありません。たとえば、次の 2 つの定義は同等です。

CREATE TABLE myTable (id INTEGER PRIMARY KEY, name VARCHAR(50)); CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT(50));

さらに、SQLite は、他の列タイプと同一の INT や BOOLEAN などの列タイプのエイリアスをサポートしています。VARCHAR、TEXT、CHARACTER など、他の列タイプの別名もあります。これらはすべて TEXT 列タイプの別名であり、文字列の格納に使用できます。

おすすめ

転載: blog.csdn.net/weixin_43756295/article/details/129156415
おすすめ