살구월드

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

데이터베이스 관련 포스팅 목록

2020/06/19 - [Linux/DB] - MYSQL UPDATE 쿼리

2020/06/18 - [Linux/DB] - MYSQL SELECT 쿼리

2020/04/26 - [Linux/DB] - Linux Ubuntu MYSQL 데이터베이스 설치하기

 

 


목차

 

 

     

     

     

    쿼리문 필요성

    안녕하세요. 오늘은 기존 데이터베이스에 있던 내용을 검색하는 Select 쿼리와 데이터의 내용을 수정하는 Update 쿼리에 이어 데이터를 삭제하는 방법을 알아보도록 하겠습니다.

    여러분 왜 데이터의 삭제가 필요할까요? 정말 단순한 질문입니다. 답도 정말 단순 합니다. 그냥, 그 데이터가 필요없어졌으니까요...

    필요없는 존재..


    맞습니다. 우리가 일상에서 조회하고 탐색하고 수집한 많은 데이터에서 이제는 필요가 없어졌기 때문이죠. 이런 쓰레기 값들이 데이터베이스에 지속적으로 남아있다면 유지보수에 큰 문제가 발생하겠죠.

    생성, 수정, 삽입, 삭제 큰 4개의 주제에서 바로 이 "삭제"에 대하여 오늘 알아보도록 하겠습니다.

     

     

     

    쿼리 구조 설명

    DELETE FROM 테이블명 WHERE 조건들;

     

    삭제 쿼리문의 기본 틀은 위와 같습니다. select문 처럼 from 구문 앞에 어떤 속성을 타겟으로 하는지 등의 구문을 적지 않습니다.

    만약 학생테이블에서 3번 학생의 데이터를 삭제하고 싶다면 조건문에 "user_id=3" 과 같이 설정하면 됩니다.

    또한 두개 이상이라면 연산 조건으로는 ">=", "<" 등을 사용할 수 있고 논리연산자 "and", "or" 등의 조건도 사용이 가능합니다.

     

     

     

    예제 목표

    이번 포스팅에서의 목표는 여러 조건문을 사용하여 정확히 데이터를 삭제는 방법에 대하여 아는 것입니다. 대표적으로 전체 데이터 삭제, 일부 삭제가 있으며 일부 삭제를 위한 조건문 사용방법 등이 있습니다.

     

     

     

    예제 데이터베이스 및 테이블 생성

    테스트를 진행하기에 앞서 이전 select 관련 포스팅에 있던 학생 테이블을 그대로 사용하겠습니다. 아래 링크를 참고하여 데이터베이스를 생성합니다.

     

    2020/06/18 - [Linux/DB] - MYSQL SELECT 쿼리

     

    MYSQL SELECT 쿼리

    데이터베이스 관련 포스팅 목록 더보기 [MYSQL] 우분투 MYSQL 데이터베이스 설치하기(Ubuntu MySQL Install) [MYSQL] UPDATE 쿼리 MYSQL SELECT문 안녕하세요 오늘은 MYSQL SELECT 쿼리문에 대하여 알아보..

    salguworld.tistory.com

     

     

    전체 데이터 삭제

    delete from students;

     

    전체 데이터를 삭제하는 방법입니다. 이 명령이 실행된 후 테이블이 어떻게 변경되었는지 확인해보겠습니다.

     

    select * from students;

     

    전체 데이터가 삭제된 모습

     

    아무 데이터도 없는 것을 확인할 수 있습니다.

     

     

    일부 데이터 삭제(조건문 이용)

    insert into students(name, score, class_id) values ("kim", 90, 3);
    insert into students(name, score, class_id) values ("heo", 30, 3);
    insert into students(name, score, class_id) values ("sin", 70, 4);
    
    delete from students where name='kim';

     

    "kim" 학생의 데이터만 삭제하고 싶을 경우 위와 같은 조건을 사용합니다.  자 다시 한번 테이블의 데이터가 어떻게 변경되었는지 확인해보겠습니다.

     

    select * from students;

     

    kim 학생의 데이터만 삭제된 모습

     

    우리가 원하던 결과처럼 "kim" 학생의 데이터만 삭제된 것을 알 수 있었습니다.

     

     

    두개 이상의 데이터 삭제

    insert into students(name, score, class_id) values ("kim", 90, 3);
    
    delete from students where score <= 70;

     

    학생들의 점수중 70점 이하인 학생 데이터만 삭제하였습니다. 과연 결과는 어떻게 되었을까요?

     

    select * from students;

     

    70점 이하인 학생들 데이터만 삭제된 모습

     

    70점 이하인 "heo", "sin" 학생의 데이터 2개가 삭제된 것을 확인하였습니다.

     

     

    예제 목표

    이번 포스팅에서는 MySql 환경에서 원하는 기존 데이터를 삭제하고 싶을 때 사용하는 delete 쿼리문에 대해 알아보았습니다. 다음 포스팅에선 원하는 데이터를 삽입하는 Insert 문에 대하여 알아보도록 하겠습니다.

     

    잠깐, 리눅스, C 언어, Java, Python 등
    각종 예제 검색하기

    공유하기

    facebook twitter kakaoTalk kakaostory naver band