MariaDB SQL

MariaDB Delete

ssamhago 2023. 7. 18. 17:55
728x90
320x100

MariaDB Delete

 

 

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;

 

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/

728x90
반응형