概要 :このチュートリアルでは、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ステートメント