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>