mysql에서 데이터를 삭제할 때 DELETE 구문을 사용한다. 테이블에 의미없는 데이터가 쌓이는 것을 방지하고 불필요한 데이터는 삭제할 필요가 있는데, 가급적 조건절과 함께 사용하는 것을 권장한다. 만약 DELETE 구문에 조건절이 없다면 지정한 테이블의 모든 데이터를 삭제할 수 있기 때문이다.
mysql 데이터 삭제 delete 사용
using mysql delete statement
데이터베이스에 데이터가 많이 쌓이면 쓸모없거나 의미없거나 사용하지 않는 데이터들이 존재할 수 있다.
지금은 의미없지만 미래에 의미가 있을 수도 있겠지만 현재 의미가 없다면 미래에도 의미가 없는 경우들이 더 많다.
또는 작업 중에 발생하는 임시파일들에 대한 정보 또한 데이터베이스에 쌓일 수도 있다.
이런 의미없는 데이터를 삭제할 때 사용하는 것이 mysql 에서 사용하는 delete 구문이다.
이 구문은 테이블에 저장된 데이터를 전체적으로 삭제할 수 있고, 조건문을 사용하여 특정 값만 삭제할 수도 있다.
데이터 삭제 delete
데이터베이스의 테이블의 데이터를 삭제할 때 사용하는 명령어는 DELETE 이다.
DELETE 구문 또한 조건문이 없다면 정해진 테이블의 모든 데이터를 삭제하기 때문에 주의가 필요하다.
만약, 삭제할 자료가 있다면 먼저 SELECT 를 통해 데이터를 조회한 후 이 때 사용한 조건절을 사용하여 DELETE 구문을 안전하게 사용하는 것 좋다.
아래는 DELETE 구문을 사용하는 구문이다.
DELETE FROM 테이블명
WHERE 조건문
;
샘플코드
위의 DELETE 구문을 이용하여 데이터를 삭제하는 mysql 예제를 만들어 본다.
삭제하는 구문에 조건절이 필요한 이유는 일부 내용만 삭제하려는 목적이 있다.
만약 조건절이 없다면 DELETE 구문은 UPDATE 구문과 같이 모든 데이터에 영향을 주게 된다.
아래는 mysql DELETE 구문을 사용하기 위해 테이블의 생성부터 삭제까지의 과정을 나타낸다.
중간에 있는 DELETE 구문만 봐도 무방하다.
코드를 보자.
/** tb_sample 테이블을 생성 */
CREATE TABLE tb_sample (
idx INT,
company VARCHAR(250),
title VARCHAR(250),
content TEXT,
insert_date DATETIME,
update_date DATETIME
)
;
/** tb_sample 테이블에 데이터 추가 */
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '1', '현대자동차', NULL, '내용1', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '2', '기아자동차', '제목2', NULL, NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '3', '현대자동차', NULL, '내용3', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '4', '기아자동차', '제목4', NULL, NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '5', '쌍용자동차', NULL, '내용5', NOW(), NOW() )
;
/** tb_sample 테이블 삭제 */
DELETE FROM tb_sample
WHERE idx = '1'
;
/** tb_sample 테이블 조회 */
SELECT * FROM tb_sample
;
/** tb_sample 테이블 데이터 삭제 */
DELETE FROM tb_sample
;
/** tb_sample 테이블 데이터 완전 삭제 */
TRUNCATE tabLE tb_sample
;
/** tb_sample 테이블 삭제 */
DROP TABLE tb_sample
;
/*-----*/
중간에 있는 DELETE 구문에서 조건절을 추가하여 삭제할 자료만 지정했다.
만약 조건절이 없다면 모든 자료가 삭제될 것이다.
결과 화면을 보자.
지정한 값만 삭제된 것을 볼 수 있다.
'programming > DataManage' 카테고리의 다른 글
mysql 최대값 최소값 함수 사용하기 using mysql max min function (0) | 2022.06.16 |
---|---|
mysql SELECT LIMIT 정해진 수만큼 조회하기 using mysql SELECT LIMIT Statement (0) | 2022.06.11 |
mysql 데이터 수정 update 사용하기 using mysql update statement (0) | 2022.06.06 |
mysql null 값 체크 checking null value in mysql (0) | 2022.06.02 |
mysql insert 테이블에 데이터 입력하기 using mysql insert statement (0) | 2022.05.31 |
댓글