MariaDB delete 문을 사용하여 테이블에서 하나 이상의 행을 제거하는 방법에 대해 배우게 됩니다.
MariaDB delete 문 소개
테이블에서 하나 이상의 행을 삭제하려면 delete 문을 사용합니다:
delete from table_name
[where search_condition];
이 구문에서:
- 먼저 키워드에서 삭제 후 데이터를 제거할 테이블의 이름을 지정합니다.
- 둘째, where 절의 조건을 사용하여 삭제할 행을 지정합니다. where 절은 선택 사항입니다. where 절을 사용할 수 있는 경우 delete 문은 search_condition을 true로 평가하는 행만 제거합니다. 테이블의 행이 없으면 delete 문은 search_condition을 true로 평가하지 않습니다. where 절을 생략하면 delete 문이 테이블에서 모든 행을 제거합니다.
관계형 데이터베이스에서 테이블은 외부 키 제약 조건을 통해 다른 테이블과 연결됩니다.
상위 테이블에서 행을 삭제하면 외부 키 제약 조건이 계단식 삭제 작업에 사용되는 경우 하위 테이블에서 해당 행이 자동으로 삭제됩니다.
MariaDB delete 문 예제
우리는 시연을 위해 contacts 테이블을 사용할 것입니다.
create table if not exists contacts(
id int auto_increment,
first_name varchar(50) not null,
last_name varchar(50) not null,
full_name varchar(101)
as (concat(first_name, ' ', last_name)) virtual,
phone varchar(100),
contact_group varchar(50) default 'General',
primary key(id)
);
contacts 테이블의 내용은 다음과 같습니다.
select * from contacts;
A) 테이블에서 하나의 행 삭제 예
다음 예제에서는 delete 문을 사용하여 테이블에서 하나의 행을 삭제합니다.
delete from contacts
where id = 1;
MariaDB는 다음 메시지를 발행했습니다.
Affected rows: 1 Found rows: 0 Warnings: 0 Duration for 1 query: 0.000 sec.
영향을 받는 행의 수는 1입니다.
ID가 1인 행이 성공적으로 삭제되었음을 의미합니다.
contacts 테이블에서 데이터를 쿼리하여 삭제 여부를 확인할 수 있습니다:
select * from contacts
where id = 1;
행을 반환하지 않습니다.
B) 표에서 여러 행 삭제 예제
다음 문은 delete 문을 사용하여 성이 'Smith'인 연락처를 contacts 테이블에서 삭제합니다:
delete from contacts
where last_name = 'Smith';
영향을 받는 행 수는 2개입니다:
Affected rows: 0 Found rows: 0 Warnings: 0 Duration for 1 query: 0.000 sec.
다음 쿼리는 성이 'Smith'인 연락처를 찾습니다:
select * from contacts
where last_name = 'Smith';
행을 반환하지 않습니다.
C) 테이블에서 모든 행 삭제 예제
다음 예제에서는 delete 문을 사용하여 contacts 테이블에서 모든 행을 제거합니다:
delete from contacts;
delete 문에는 where 절이 없으므로 contacts 테이블에서 모든 행을 삭제합니다.
※ 원문출처 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-delete/
'MariaDB SQL' 카테고리의 다른 글
FUNCTION 목록, 생성일, 수정일, 생성자 등 정보 확인 (0) | 2023.08.07 |
---|---|
MariaDB use database (데이터베이스 선택하기) (0) | 2023.07.21 |
MariaDB Update (0) | 2023.07.11 |
MariaDB Insert Into Select (0) | 2023.07.07 |
MariaDB Insert Multiple Rows (0) | 2023.07.05 |