DB/PostgreSQL

[DB] DML

2juhyunju 2021. 12. 2. 14:48

DML 이란?

DML(Data Manipulation Language)의 약어로 데이터를 조작하는 언어이다.

데이터를 조회하는 SELECT, 추가하는 INSERT, 수정하는 UPDATE, 삭제하는 DELETE  이루어져 있다.

 

데이터 조회

- SELECT 명령어를 사용해 데이터를 조회할 수 있다.

SELECT <컬럼이름> FROM <테이블이름>; // 특정 컬럼 조회

SELECT * FROM <테이블이름>; // 모든 컬럼 조회

SELECT * FROM <테이블이름> WHERE <조건문>; // 조건을 부여해 컬럼조회

SELECT * FROM <테이블이름> ORDER BY ASC(오름차순) or DESC(내림차순); // 정렬해서 조회

SELECT CAST (<컬럼명> AS <데이터타입>) FROM <테이블이름> WHERE <조건문>; // 데이터 타입을 변경해서 조회

LIKE

- LIKE 명령어를 사용해 특정 문자가 들어있는 데이터를 조회할 수 있다.

SELECT * FROM <테이블이름> WHERE <컬럼이름> LIKE '%abc%'; // 'abc' 문자가 들어가는 데이터 조회

SELECT * FROM <테이블이름> WHERE <컬럼이름> NOT LIKE '%abc%'; // 'abc' 문자가 들어가지 않는 데이터 조회

SELECT * FROM <테이블이름> WHERE <컬럼이름> LIKE '%abc'; // 'abc' 문자로 끝나는 데이터 조회

SELECT * FROM <테이블이름> WHERE <컬럼이름> LIKE 'abc%'; // 'abc' 문자로 시작하는 데이터 조회

SELECT * FROM <테이블이름> WHERE <컬럼이름> LIKE '__abc'; // 'abc'로 시작하고 글자수크기 제한해서 조회

집계함수

- 집계함수를 사용해 컬럼 데이터를 더한값,평균,최대값,최소값 등을 조회할 수 있다.

SELECT COUNT(<컬럼이름>) FROM <테이블이름> // 컬럼이름 기준 컬럼 갯수 조회

SELECT SUM(<컬럼이름>) FROM <테이블이름> // 컬럼이름 기준 컬럼 데이터 합계 조회

SELECT AVG(<컬럼이름>) FROM <테이블이름> // 컬럼이름 기준 컬럼 데이터 평균 조회

SELECT MAX(<컬럼이름>) FROM <테이블이름> // 컬럼이름 기준 컬럼 최대값 조회

SELECT MIN(<컬럼이름>) FROM <테이블이름> // 컬럼이름 기준 컬럼 최소값 조회



* AS <컬럼이름> 으로 집계함수 조회를 새로운 컬럼으로 조회할수있다.
EX) SELECT SUM(id) AS <SUM_ID> FROM <테이블이름>

범위 조회

- BETWEEN 명령어를 사용해 특정 범위 내에 있는 데이터를 조회할 수 있다.

SELECT * FROM <테이블이름> WHERE <컬럼이름> between 3 and 9; // 3이상 9이하인 데이터 조회

SELECT * FROM <테이블이름> WHERE <컬럼이름> NOT between 3 and 9; // 3이상 9이하에 포함되지 않는 데이터 조회

중복 제거

- DISTINCT 명령어를 사용해 중복데이터를 제거하고 조회할 수 있다.

SELECT DISTINCT <컬럼이름1> FROM <테이블이름>; // 중복제거 후 조회

GROUP BY

- GROUP BY 명령어를 사용해 컬럼을 그룹별로 묶어 조회할 수 있다.

SELECT <컬럼1>,<컬럼2> FROM <테이블이름> GROUP BY <컬럼1>,<컬럼2> HAVING <조건문>;// 그룹으로 묶어서 조회 * 단 SELECT 절과 GROUP BY 절에는 항상 같은 컬럼을 적어야한다.

데이터 추가

- INSERT 명령어를 사용해 데이터를 추가할 수 있다.

INSERT INTO <테이블이름> VALUES<(값),(값2),(값3)>; // 컬럼이 한개일 때 데이터 n개 추가

INSERT INTO <테이블이름> VALUES(<값>,<값2>...); // 테이블 컬럼에 순서대로 값이 추가된다.

INSERT INTO <테이블이름> (<컬럼이름1>,<컬럼이름2>...) VALUES(<값>,<값2>...); // 테이블 컬럼과 값을 매치해야한다.

 

데이터 수정

- UPDATE 명령어를 사용해 데이터를 수정할 수 있다.

UPDATE <테이블이름> SET <컬럼이름> = <변경할 내용> WHERE <조건>; // 데이터 변경
EX) update users set user_pw = '4321' where user_pw = 'car1234';

데이터 삭제

- DELETE 명령어를 사용해 데이터를 수정할 수 있다.

DELETE FROM <테이블이름>; // 테이블안 전체 데이터 삭제

DELETE FROM <테이블이름> WHERE <조건>; // 조건에 만족하는 데이터 삭제