DB를 관리하며 가끔 눈에 거슬리는 데이터를 삭제하고자 할 때가 있습니다.
저장한 데이터를 삭제할 때에는?
예 그렇습니다.
바로 DELETE 문을 사용하여 삭제를 진행하게 되지요.
DELETE란 단어 자체가 '삭제'를 의미하니깐요.
간단하게 DELETE문 사용법을 살펴보겠습니다.
1 | DELETE FROM 테이블명 WHERE 조건 | cs |
간단하지요 하하하...
물론, 조건이 없다면 테이블에 있는 데이터가 전체 삭제되겠지요.
그런데, DROP이라는 녀석도 있습니다.
1 2 | DROP DATABASE 데이터베이스명 DROP TABLE 테이블명 | cs |
테이블 자체를 날려버리는 것입니다.
Db를 날릴 수 도 있습니다.
참고로 Data를 관리할 때
이렇게 위험한(?) 명령어는 조심하게 써야됩니다.
조심조심 사용해요~
그렇다면, DELETE와 DROP의 차이는 뭘까요?
바로 DDL, DML 이라는 차이가 있습니다.
DDL이란,
Data Definition Language의 약자로서
DB, Table과 같은 데이터의 구조를 정의하는데 사용합니다.
뿐만 아니라, 구조를 생성 및 변경 그리고 삭제할 때 사용하는 명령어들이
DDL에 해당되는 것이지요!
그렇다면 DML이란!?
Data Manipulation Language의 약자로서
데이터를 가지고 놀 때 사용하는 언어입니다.
예 그렇습니다.
데이터를 조회하고 추가하고 변경하고 삭제할 때 사용되는 명령어들이
DML에 해당되는 것입니다.
어찌... 좀 이해가 가시는지요!?
저보다 머리가 좋으시니 금방 이해되시겠지요
자... 그렇다면....
이번엔 모조리 지워버리는...
어마무시한 TRUNCATE TABLE 명령어를 알아보겠습니다.
해당 명령어는 테이블에서 모든 행을 삭제할 수 있는 명령어입니다.
그런데, MS사의 TechNet 사이트를 보게되면
DELETE문과 비교하여도 속도가 빠르고
시스템 및 트랜잭션 로그 리소스를
상대적으로 덜 사용한다고 합니다.
(출처_ TechNet)
이러한 장점이 있군요~
TRUNCATE TABLE 명령어를 사용하게 되면
쉽게 생각해서 초기화가 된다고 생각하시면 됩니다.
1 | TRUNCATE TABLE 테이블명; | cs |
이렇게 간단하게 사용할 수 있습니다.
Auto_Increment 를 사용하게 되면
데이터가 추가될 때마다 자동으로 Index값이 붙죠?
DELETE 문을 통해 데이터를 지우게 되더라도
데이터를 추가시 지운 번호에 굴하지 않고
번호가 이어져 자동 증가하게 됩니다.
하지만! TRUNCATE TABLE을 사용하게 된다면
다시 처음부터 번호가 쌓이기 시작한답니다.
즐거운 Query를 날려봅시다!
굳~
'삽질의 현장 > - DataBase' 카테고리의 다른 글
[삽잡이::sql] NULL이라면? 다른 녀석을 보여주지! IFNULL (0) | 2016.06.27 |
---|---|
[삽잡이::sql] 테이블을 복사 그리고, Index의 중요성 (0) | 2016.06.24 |
[삽잡이::DB] 중복을 없애고 테이블을 최소화하라! 정규화(normalization) (0) | 2016.06.21 |
[삽잡이::DB] 데이터 모델링 과정 (0) | 2016.06.20 |
[삽잡이::sql] 데이터를 그룹핑해보자! group by (0) | 2016.06.18 |