SQLiteデータベースにデータを挿入するには、INSERTを使用します ステートメント。
このステートメントを使用するときは、データを挿入する列と、挿入するデータを指定します。 INSERT ステートメントは、指定されたデータを含む新しい行をテーブルに追加します。
Artists にデータの行を追加しましょう テーブル。
次のステートメントを実行します:
INSERT INTO Artists (ArtistName)
VALUES ('Joe Satriani'); データが挿入されたことを確認します
クイックSELECTを実行できます データが挿入されたことを確認するステートメント。
SELECTの詳細 後でステートメントを実行しますが、今のところ、次のステートメントを実行します。
SELECT * FROM Artists;
これにより、次のように表示されます。
sqlite> SELECT * FROM Artists; 1|Joe Satriani
ショートカット
SELECTを書く別の方法があります あまりコードを使用しないステートメント。
ステートメントから列名を省略しても、フィールドは引き続き入力されます。
ただし、この方法では、すべての列に値を指定する必要があります。
このように:
INSERT INTO Artists VALUES (NULL, 'Steve Vai');
ここで、同じSELECTを実行します ステートメントは次を返します:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai
主キーフィールドについて
ここまでで、
ArtistId
に気づいたかもしれません。 フィールドは自動的にその値を取得しています。最初のINSERT 、その列の値を指定しませんでした。 2番目のINSERT NULLを提供しました 値として。
これは、列のタイプがINTEGER PRIMARY KEYであるために発生しています。 。列にINTEGER PRIMARY KEYが割り当てられている場合 、これはROWIDのエイリアスです 。 ROWIDを使用 、値がINSERTによって提供されていない場合 ステートメントの場合、SQLiteは自動的に独自の整数をそのフィールドに挿入します。
ROWIDの値 整数は通常、最大のROWIDより1つ大きくなります。 現在使用中です。空のテーブルでは、この値は1から始まります 。
したがって、最終的には、そのフィールドに値を指定しないと、SQLiteが値を指定します。
複数の行を追加する
INSERTはいくつでも使用できます さらにデータを追加する必要があるため、ステートメント。
INSERT INTO Artists VALUES (NULL, 'The Tea Party'); INSERT INTO Artists VALUES (NULL, 'Noiseworks'); INSERT INTO Artists VALUES (NULL, 'Wayne Jury'); INSERT INTO Artists VALUES (NULL, 'Mr Percival'); INSERT INTO Artists VALUES (NULL, 'Iron Maiden'); INSERT INTO Artists VALUES (NULL, 'Atmasphere'); INSERT INTO Artists VALUES (NULL, 'Ian Moss'); INSERT INTO Artists VALUES (NULL, 'Magnum'); INSERT INTO Artists VALUES (NULL, 'Strapping Young Lad'); INSERT INTO Artists VALUES (NULL, 'Slayer'); INSERT INTO Artists VALUES (NULL, 'Primus'); INSERT INTO Artists VALUES (NULL, 'Pat Metheny'); INSERT INTO Artists VALUES (NULL, 'Frank Gambale'); INSERT INTO Artists VALUES (NULL, 'Frank Zappa'); INSERT INTO Artists VALUES (NULL, 'The Wiggles');
そして今、私たちのSELECT ステートメントは次を返します:
sqlite> SELECT * FROM Artists; 1|Joe Satriani 2|Steve Vai 3|The Tea Party 4|Noiseworks 5|Wayne Jury 6|Mr Percival 7|Iron Maiden 8|Atmasphere 9|Ian Moss 10|Magnum 11|Strapping Young Lad 12|Slayer 13|Primus 14|Pat Metheny 15|Frank Gambale 16|Frank Zappa 17|The Wiggles
次に、データベースからデータを選択する方法を詳しく見ていきます。