(MySQL) DML명령어(SELECT, INSERT, UPDATE, DELETE)를 알아보자

DML명령어란?

데이터 조작어(Data Manipulation Language)의 약어로, SELECT, INSERT, UPDATE, DELETE 명령어가 DML에 해당합니다.

명령어 종류 설명
DML(데이터 조작어) 데이터베이스 내부의 데이터를 조회, 변형(삽입/수정/삭제)하는 명령어
DDL(데이터 정의어) 테이블 등의 데이터 구조와 관련된 기능(생성/변경/삭제/이름변경)을 담당하는 명령어
DCL(데이터 제어어) 데이터베이스에 접근하여 객체들을 사용할 권한을 부여/회수하는 명렁어
TCL(트랜잭션 제어어) DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

SELECT : 데이터의 조회

가장 많이 사용되는 명령어로, 데이터를 조회/검색 할 때 사용합니다.

SELECT 컬럼명 FROM 테이블명 WHERE 조건; 

조건절(WHERE~)은 조건이 없을 경우 생략 가능합니다.
해당 테이블의 모든 컬럼을 선택할 경우 일일이 컬럼명을 쓰지 않고 *로 표기합니다.


INSERT : 데이터의 삽입

데이터를 추가로 입력할 때 사용합니다. 입력하지 않은 컬럼에는 자동으로 Null/0이 들어갑니다.

INSERT INTO 테이블명(컬럼1, 컬럼2...) VALUES(컬럼1의 데이터, 2의 데이터...);

테이블명 뒤의 컬럼명은 생략이 가능합니다. 이 경우 모든 데이터가 컬럼의 순서대로 들어갑니다.
데이터의 값이 문자열이면 반드시 따옴표(“)를 사용해야 합니다.


UPDATE : 데이터의 수정

기존 데이터의 값을 수정할 때 사용합니다.

UPDATE 테이블명 SET 컬럼1=데이터1, 컬럼2=데이터값2, ... WHERE 조건;  

UPDATE문은 조건절에서 지정한 조건을 만족하는 값만 수정됩니다.
만약 조건절을 생략하면, 해당 테이블의 모든 데이터 값이 SET 이하의 내용으로 변경됩니다.

예를 들어, UPDATE USER SET NAME = "연정"; 이라고 명령하면, USER 테이블의 NAME 컬럼 안에 들어있던 이름들은 모두 ‘연정’으로 변경됩니다.


SELECT : 데이터의 삭제

데이터를 삭제할 때 사용하는 명령어로, 항상 조건 사용에 주의해야 합니다.

DELETE FROM 테이블명 WHERE 조건;  

DELETE문은 UPDATE와 마찬가지로 조건절에서 지정한 조건을 만족하는 데이터만 삭제합니다.
만약 조건절을 생략하면, 해당 테이블의 모든 데이터가 삭제됩니다.

테이블의 데이터가 모두 삭제되더라도 테이블은 여전히 남아있습니다.
테이블 자체를 삭제하고 싶을 때는 DROP TABLE 명령어를 사용해야 합니다.