SQLite | データの追加・更新・削除 | データの削除(DELETE)

DELETE文を使用して、テーブルに保存されているデータを削除する方法について説明します。

テーブルのデータを削除する

テーブルからデータを削除するには、DELETE文を使用します。構文は次のとおりです。

DELETE FROM テーブル名 WHERE 条件式;

削除する行をWHERE句の条件式で指定します。条件に一致する行が複数ある場合は、まとめて削除されます。WHERE句を省略すると、テーブル内のすべての行が削除されます。

実際に試してみましょう。次のテーブルを作成し、データを追加します。

create table user (id integer, name text, old integer);
insert into user values (1, 'devkuma', 32);
insert into user values (2, 'kimkc', 15);
insert into user values (3, 'araikuma', 18);
insert into user values (4, 'happykuma', 24);
insert into user values (5, 'mykuma', 19);
sqlite> create table user (id integer, name text, old integer);
sqlite> 
sqlite> insert into user values (1, 'devkuma', 32);
sqlite> insert into user values (2, 'kimkc', 15);
sqlite> insert into user values (3, 'araikuma', 18);
sqlite> insert into user values (4, 'happykuma', 24);
sqlite> insert into user values (5, 'mykuma', 19);
sqlite> 

まず、old列の値が20未満の行を削除し、テーブルを検索して削除されたことを確認します。

delete from user where old < 20;
select * from user;
sqlite> delete from user where old < 20;
sqlite> 
sqlite> select * from user;
id          name        old       
----------  ----------  ----------
1           devkuma     32        
4           happykuma   24        
sqlite> 

次に、テーブル内のすべてのデータを削除します。次の文を実行すると、すべての行が削除されます。

delete from user;
select * from user;
sqlite> delete from user;
sqlite> 
sqlite> select * from user;
sqlite>