티스토리 뷰

코딩고양이

 

 

 

 

 

DML 이란?

 

Data Manipulation Language의 약어이며 데이터 조작어라고 불립니다.

그래서 DML은 데이터를 조작하기 위한 용도입니다.

 

 

 

 

 

SELECT

 

표현법

칼럼 값은 소문자로 작성하고 나머지는 대문자로 작성하는 것이 관례입니다.

-- [사용법]
SELECT 컬럼 명[, 컬럼명...]
FROM 테이블 명
WHERE 조건식;

-- 작동 순서 : FROM → WHERE → SELECT 
칼럼 값만 소문자(Java 연동할 때 데이터 넘겨주기 편하니까), 나머지는 대문자가 관례

 

 

DISTINCT

조회하고자 하는 칼럼에 중복된 값을 제외하고 딱 한번만 조회하고자 할 때 사용한다.

해당 칼럼명 앞에 기술하면 된다. 단, SELECT 절에 DISTINCT 구문은 단 한 개만 가능하다.

-- [표현법]
DISTINCT 칼럼명;

SELECT
    DISTINCT 칼럼1, 칼럼2
FROM 테이블 명;

 

 

 

 

 

SELECT - WHERE

 

BETWEEN

비교하려는 값이 지정한 범위 안에 경계도 포함하여 가져온다.

SELECT
    칼럼명1,
    칼럼명2
FROM 테이블 명
WHERE
    칼럼명 BETWEEN 3500000 AND 6000000;
-- 3500000 이상 6000000 이하의 값

 

 

LIKE, NOT LIKE

와일드 카드는 '%', '_'를 사용하고 있다.

와일드 카드 설명
% 0 글자 이상을 의미한다.

비교할 대상 칼럼명 LIKE '문자%' → 칼럼 값 중에 '문자'로 시작하는 것을 조회한다.
비교할 대상 칼럼명 LIKE '%문자' → 칼럼 값 중에 '문자'로 끝나는 것을 조회한다.
비교할 대상 칼럼명 LIKE '%문자%' → 칼럼 값 중에 '문자'로 포함되는 것을 조회한다.
_ 딱 1글자를 의미한다.

비교할 대상 칼럼명 LIKE '_문자' → 해당 칼럼 값 중에 무조건 1글자가 존재하는 경우 조회
비교할 대상 칼럼명 LIKE '__문자' → 해당 칼럼 값 중에 무조건 2글자가 존재하는 경우 조회
-- NOT LIKE문
SELECT
    칼럼명1,
    칼럼명2
FROM 테이블 명
WHERE
    NOT 칼럼명 LIKE '이%';

 

 

 

NULL, NOT NULL

해당 값이 NULL인지 아닌지 판단한다.

-- [표현법]
비교대상 칼럼 IS NULL		-- 칼럼값이 NULL인 경우
비교대상 칼럼 IS NOT NULL		-- 칼럼값이 NULL이 아닌 경우

-- NULL  사용
SELECT 
    칼럼명1
FROM 테이블 명
WHERE
    칼럼명 IS NULL;

 

 

 

IN

비교 대상 칼럼 값에 내가 제시한 목록들(값들) 중에서 하나라도 일치하는 값이 있는지 판단한다.

-- [표현법]
비교대상 칼럼 IN (값1, 값2, 값3 ...)


SELECT
    칼럼명1,
    칼럼명2,
    칼럼명3
FROM 테이블명
WHERE
    칼럼명 IN (데이터1, 데이터2);

 

 

 

 

 

 

SELECT - ORDER BY

 

정렬을 해주는 기능입니다.

  • ASC : 오름차순 (생략시 기본 값)
  • DESC : 내림차순

정렬할 때 NULL이 있으면?

  • NULLS FIRST : 해당 NULL 값들을 앞으로 배치하겠다. (내림 차순 정렬일 경우 기본값이다.)
  • NULLS LAST : 해당 NULL 값들을 뒤로 배치하겠다. (오름차순 정렬일 경우 기본값이다.)
SELECT
    emp_name AS "직원명",
    salary AS "급여",
    bonus AS "보너스"
FROM EMPLOYEE
ORDER BY BONUS DESC NULLS LAST, SALARY, EMP_ID DESC;
-- 1)보너스 내림차순이면서 NULL값 마지막으로 가고 같은값이면 2)급여로 오름차순, 3) 사번 내림차순

 

 

 

 

 

 

 

 

INSERT

 

데이터를 추가하는 구문이다.

  • 만약 값을 부족하게 넣는 경우 : NOT ENOUGH VALUE 오류 발생!
  • 만약 값을 더 많이 넣는 경우 : TOO MANY VALUES 오류 발생!

 

데이터를 추가하고 COMMIT을 해야 데이터가 완전히 들어간다.

[표현법 1번]
INSERT INTO 테이블명 VALUES(첫번째 칼럼의 값, 두번째 칼럼의 값, ...)
EX)
INSERT INTO MEMBER VALUES('user01','pass01','한국','1990-10-06');


[표현법 2번]
INSERT INTO 테이블명 (칼럼명1, 칼럼명2, 칼럼명3) VALUES(값1, 값2, 값3);
EX)
INSERT INTO MEMBER (MEM_ID, MEM_PWD, MEM_NAME) VALUES('user01','pass01','한국');


[표현법 3번]
INSERT INTO 테이블명 (서브쿼리);

 

 

Tip) 만약에 여러행을 한번에 INSERT 하고싶으면 표현법 2번에 INTO 이후로 , 를 사용하여 여러행을 넣을 수 있다.

 

 

 

 

 

 

 

UPDATE

 

Tip) WHERE 절 생략은 가능하나 생략 시 "모든" 행의 데이터가 변경되므로 주의 하도록 하자.

 

데이터를 수정하는 구문

[표현법]
UPDATE 테이블명
SET 칼럼명 = 바꿀값,
        칼럼명 = 바꿀값,
        칼럼명 = 바꿀값, ...  --여러개의 칼럼 값들을 동시 변경 가능
WHERE 조건;

 

 

 

 

 

 

DELETE

 

Tip) WHERE 절 생략은 가능하나 생략 시 "모든" 행의 데이터가 삭제되므로 주의하자!!!!!

 

 

데이터를 행 단위로 삭제하는 구문

[표현법]
DELETE FROM 테이블명
WHERE 조건;

 

 

 

 

감사합니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함