[MySQL] DML(Data Manipulation Language), INSERT, UPDATE, DELETE
처음에 질의어 위주로 공부를 하겠다고 이야기했는데
SQL공부를 하다 보니 너무 한쪽에 치우친 게 아닌가 생각이 들었다.
질의어만큼은 아니더라도, 조작어도 기본적인 수준은 정리하려 한다.
DML(Data Manipulation Language)는 DQL(Data Query Language)와 다르게 데이터베이스의 값들을 추가(INSERT), 변경(UPDATE), 삭제(DELETE)를 할 수 있다.
(정말 무서운 기능이다....)
1. INSERT
데이터베이스에 값을 추가하는 기능을 한다.
테이블에 한 row 전체를 추가시킬 때는 다음과 같이 사용한다.
INSERT INTO 테이블명 VALUES (VALUE1,VALUE2....)
만약에 한 row를 추가시키되, 특정 컬럼에만 값을 입력하고 싶다면 다음과 같이 사용한다.
INSERT INTO 테이블명 (COLUMN1,COLUMN2...) VALUES (VALUE1, VALUE2...)
특정 컬럼에만 값이 들어가고 값이 들어가지 않은 컬럼이 존재할 경우, 값이 들어가지 않은 컬럼에는 default값이 들어간다. (보통 NULL)
2. UPDATE
데이터베이스에 존재하는 값을 변경하는 기능을 한다.
한 컬럼 전체를 변경시키고 싶다면, 다음과 같이 사용한다.
UPDATE 테이블명 SET COLUMN_NAME = VALUE
하지만 위와 같은 경우는 거의 사용하는 경우가 없다.
위와 같은 코드를 사용하면, 테이블 내의 COLUMN_NAME의 값들이 모두 VALUE로 바뀌기 때문이다.
그래서 원하는 행의 값만 바꾸고 싶다면, WHERE 조건식을 같이 쓴다.
UPDATE 테이블명 SET COLUMN_NAME = VALUE WHERE 조건식
3. DELETE
데이터베이스에 존재하는 값을 삭제하는 기능을 한다.
테이블 전체를 지우고 싶다면, 다음과 같이 사용한다.(ㄷㄷ)
DELETE FROM 테이블명
이 무시무시한 코드를 사용하는 경우는 거의 없다.
테이블의 원하는 행만 지우고 싶을 때는, WHERE 조건식을 사용한다.
DELETE FROM 테이블명 WHERE 조건식
이렇게 조작어에 대한 기본적인 기능과 사용법을 알아보았다.
앞에서도 말했듯이 분석가에게 질의어만큼은 조작어가 중요하지 않다고 생각하기 때문에, 조작어가 필요하다면 구글에서 찾아야겠다.
(참고 자료 - https://www.inflearn.com/users/@datarian 의 [백문이불여일타] 데이터 분석을 위한 고급, 중급, 기초 SQL)