概要 :このチュートリアルでは、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 INSERT
– SELECT
によって提供されたデータを使用して新しい行を挿入する ステートメント
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ステートメント