데이터 조작어
데이터 조작어(DML, Data Manipulation Language)도 이름 그대로 데이터를 조작(가공)하는 데 사용하는 언어입니다. 데이터를 조작한다는 것은 데이터를 조회, 입력, 수정, 삭제하는 네 가지 작업을 일컫습니다. 따라서 DML은 데이터를 담고 있는 테이블(또는 뷰)을 대상으로 합니다. 제 경험상 SQL 전체 문장 중 실제로 사용되는 빈도를 보면 DML이 90%가 넘습니다. 따라서 앞으로는 DML을 중점적으로 배웁니다. DML의 종류는 다음과 같습니다.
▼ 표 1-3 DML의 종류
종류 |
설명 |
SELECT |
테이블에 있는 데이터를 조회할 때 사용함. SQL 전체에서 DML이 90%를 차지하고 DML 전체에서 SELECT 문이 90% 이상 사용되므로 가장 기본이자 많이 사용하는 문장임 |
INSERT |
테이블에 데이터를 새로 넣을 때(입력할 때) 사용함 |
UPDATE |
테이블에 입력된 데이터를 수정할 때 사용함 |
DELETE |
테이블에 있는 데이터를 삭제할 때 사용함 |
테이블에서 데이터를 삭제하는 방법은 두 가지입니다. DML인 DELETE 문을 사용하는 방법과 DDL인 TRUNCATE TABLE 문을 사용하는 방법이죠. 데이터 삭제는 주로 DELETE 문을 사용하지만, 어떨 때는 TRUNCATE TABLE 문을 사용하기도 합니다. DELETE 문은 테이블의 데이터 전체를 삭제할 수도 있고 조건에 맞는 일부 데이터만 삭제할 수도 있지만, TRUNCATE TABLE 문은 무조건 테이블의 데이터 전체를 삭제합니다. 그리고 DELETE 문으로 데이터를 삭제하더라도 트랜잭션 제어어인 ROLLBACK 문을 실행하면 삭제 전 상태로 돌아갈 수 있지만, TRUNCATE TABLE 문으로 테이블의 데이터를 삭제하면 삭제된 데이터를 복구할 수 없습니다.
이외에도 DML 문이 몇 개 더 있지만, 이들은 MySQL에서만 사용합니다. 특히 MySQL 8.0 버전에서 추가된 문장도 있는데, 이에 관해서는 5장 데이터 조회하고 정렬하기에서 소개합니다.