sql >> データベース >  >> RDS >> SQLite

SQLite挿入

    概要 :このチュートリアルでは、SQLite INSERTの使用方法を学習します 新しい行をテーブルに挿入するステートメント。

    テーブルにデータを挿入するには、INSERTを使用します 声明。 SQLiteは、さまざまな形式のINSERTを提供します 単一の行、複数の行、およびデフォルト値をテーブルに挿入できるステートメント。

    さらに、SELECTによって提供されるデータを使用して、テーブルに行を挿入できます。 ステートメント。

    SQLite INSERT –単一の行をテーブルに挿入する

    1つの行をテーブルに挿入するには、次の形式のINSERTを使用します。 ステートメント:

    INSERT INTO table (column1,column2 ,..)
    VALUES( value1,	value2 ,...);Code language: SQL (Structured Query Language) (sql)

    INSERTを調べてみましょう ステートメントの詳細:

    • 最初に、INSERT INTOの後にデータを挿入するテーブルの名前を指定します キーワード。
    • 次に、テーブル名の後に列のコンマ区切りリストを追加します。列リストはオプションです。ただし、テーブル名の後に列リストを含めることをお勧めします。
    • 3番目に、VALUESの後にコンマ区切りの値のリストを追加します キーワード。列リストを省略する場合は、値リストのすべての列に値を指定する必要があります。値リストの値の数は、列リストの列の数と同じである必要があります。

    artistsを使用します デモンストレーション用のサンプルデータベースのテーブル。

    次のステートメントは、artistsに新しい行を挿入します テーブル:

    INSERT INTO artists (name)
    VALUES('Bud Powell');Code language: SQL (Structured Query Language) (sql)

    試してみてください

    ArtistId columnは自動インクリメント列であるため、ステートメントでは無視できます。 SQLiteは、ArtistIdに挿入する連続した整数を自動的に生成します 列。

    次のSELECTを使用して、挿入操作を確認できます。 ステートメント:

    SELECT
    	ArtistId,
    	Name
    FROM
    	Artists
    ORDER BY
    	ArtistId DESC
    LIMIT 1;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    ご覧のとおり、artistsに新しい行があります テーブル。

    SQLite INSERT –テーブルに複数の行を挿入する

    テーブルに複数の行を挿入するには、次の形式のINSERTを使用します ステートメント:

    INSERT INTO table1 (column1,column2 ,..)
    VALUES 
       (value1,value2 ,...),
       (value1,value2 ,...),
        ...
       (value1,value2 ,...);
    Code language: SQL (Structured Query Language) (sql)

    VALUESに続く各値リスト 句は、テーブルに挿入される行です。

    次の例では、artistsに3つの行を挿入します テーブル:

    INSERT INTO artists (name)
    VALUES
    	("Buddy Rich"),
    	("Candido"),
    	("Charlie Byrd");Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLiteはメッセージを発行しました:

    Row Affected: 3

    次のステートメントを使用して結果を確認できます。

    SELECT
    	ArtistId,
    	Name
    FROM
    	artists
    ORDER BY
    	ArtistId DESC
    LIMIT 3;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLite INSERT –デフォルト値の挿入

    CREATE TABLEを使用して新しいテーブルを作成する場合 ステートメントでは、列のデフォルト値、またはNULLを指定できます デフォルト値が指定されていない場合。

    INSERTの3番目の形式 ステートメントはINSERT DEFAULT VALUESです 、列定義で指定されたデフォルト値またはNULLを使用して、新しい行をテーブルに挿入します デフォルト値が使用できず、列にNOT NULLがない場合 制約。

    たとえば、次のステートメントは、artistsに新しい行を挿入します INSERT DEFAULT VALUESを使用したテーブル :

    INSERT INTO artists DEFAULT VALUES;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    挿入を確認するには、次のステートメントを使用します。

    SELECT
    	ArtistId,
    	Name
    FROM
    	artists
    ORDER BY
    	ArtistId DESC;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    ArtistIdのデフォルト値 columnは、次の連続する整数です。ただし、name 列にはデフォルト値がないため、INSERT DEFAULT VALUES ステートメントはNULLを挿入します それに。

    SQLite INSERTSELECTによって提供されたデータを使用して新しい行を挿入する ステートメント

    artistsをバックアップしたいとします。 表では、次の手順に従うことができます:

    まず、artists_backupという名前の新しいテーブルを作成します 次のように:

    CREATE TABLE artists_backup(
       ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
       Name NVARCHAR
    );Code language: SQL (Structured Query Language) (sql)

    試してみてください

    artists_backupにデータを挿入するには artistsからのデータを含むテーブル テーブルでは、INSERT INTO SELECTを使用します 次のようなステートメント:

    INSERT INTO artists_backup 
    SELECT ArtistId, Name
    FROM artists;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    artists_backupからデータをクエリする場合 表では、artistsのすべてのデータが表示されます テーブル。

    SELECT * FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    このチュートリアルでは、さまざまな形式のSQLite INSERTの使用方法を学習しました。 テーブルに新しい行を挿入するステートメント。

    参照

    • https://www.sqlite.org/lang_insert.html –SQLiteINSERTステートメント

    1. PLSQL Anonymousブロックが完了したときに出力がないのはなぜですか?

    2. AWS RDSでのMySQLからPostgreSQLへの移行、パート1

    3. OracleSQLピボットクエリ

    4. Oracleのログテーブルから電子メール本文にデータをエクスポートする方法