概要 :このチュートリアルでは、SQLite DELETEの使用方法を説明します テーブルから行を削除するステートメント。
SQLite DELETEの紹介 ステートメント
テーブルに新しい行を挿入し、テーブルの既存のデータを更新する方法を学習しました。場合によっては、テーブルから行を削除する必要があります。この場合、SQLite DELETEを使用します ステートメント。
SQLiteのDELETE ステートメントを使用すると、テーブル内の1つの行、複数の行、およびすべての行を削除できます。 SQLiteのDELETEの構文 ステートメントは次のとおりです。
DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql) この構文では:
- 最初に、
DELETE FROMの後に行を削除するテーブルの名前を指定します キーワード。 - 次に、
WHEREに検索条件を追加します 削除する行を識別する句。WHERE句はDELETEのオプション部分です 声明。WHEREを省略した場合 句、DELETEステートメントは、テーブル内のすべての行を削除します。
SQLiteは、DELETEの拡張機能も提供します ORDER BYを追加してステートメント およびLIMIT 条項。 SQLITE_ENABLE_UPDATE_DELETE_LIMITコンパイル時オプションを使用してSQLiteをコンパイルする場合は、ORDER BYを使用できます。 およびLIMIT DELETEの句 次の形式のようなステートメント:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)
ORDER BY 句は、先行するsearch_conditionによってフィルタリングされた行を並べ替えます WHEREで 句とLIMIT 句は、削除する行数を指定します。
DELETEを使用する場合は注意してください WHEREのないステートメント トリガーのないテーブルの句。 SQLiteは、個々の行にアクセスして削除するのではなく、すべての行を1回のショットで削除します。この機能は、切り捨て最適化と呼ばれます。
SQLite DELETE ステートメントの例
artists_backupを使用します テーブルチュートリアルに行を挿入する方法で作成されたテーブル。
そのチュートリアルに従わなかった場合は、artists_backupを作成できます。 次のスクリプトを使用して、テーブルにデータを挿入します。
-- create artists backup table
CREATE TABLE artists_backup(
artistid INTEGER PRIMARY KEY AUTOINCREMENT,
name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup
SELECT artistid,name
FROM artists;Code language: SQL (Structured Query Language) (sql)
次のステートメントは、artists_backupからすべての行を返します テーブル:
SELECT
artistid,
name
FROM
artists_backup;Code language: SQL (Structured Query Language) (sql) 試してみてください
artists_backupには280行あります テーブル。
ID 1のアーティストを削除するには、次のステートメントを使用します。
DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql) 試してみてください
artistidを使用しているため アーティストを特定するために、ステートメントは正確に1行を削除しました。
名前にSantanaという単語が含まれているアーティストを削除するとします。 :
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';Code language: SQL (Structured Query Language) (sql) 試してみてください
nameの値が9行あります 列にSantanaという単語が含まれています したがって、これらの9行は削除されました。
artists_backupのすべての行を削除するには テーブルの場合、WHEREを省略する必要があります 次のステートメントとしての句:
DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql) 試してみてください
このチュートリアルでは、SQLite DELETEの使用方法を学びました。 テーブル内の行を削除するステートメント。