[MySQL/DB] DML(데이터 조작어) 명령어 - SELECT, INSERT, UPDATE, DELETE / ORDER BYDB2023. 1. 7. 21:07
Table of Contents
728x90
728x90
[ DML(Data Manipulation Language) - 데이터 조작어 ]
데이터를 조회하거나 삽입, 갱신, 삭제할 수 있다.
데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 트랜잭션(Transaction)이라고 하며, DML은 트랜잭션을 다루는 명령어라고 할 수 있다. 데이터의 CRUD를 DML을 통해 수행한다고 할 수 있다.
다음의 테이블로 DML 명령어들을 사용해보자
CREATE TABLE EXAM1(
ID INT(5) NOT NULL AUTO_INCREMENT,
SUBJECT VARCHAR(20) NOT NULL,
CONTENT VARCHAR(20) NOT NULL,
CREATE_DATE DATETIME,
PRIMARY KEY(ID)
);
INSERT
테이블에 새로운 컬럼을 삽입할 때 사용한다.
INSERT INTO EXAM1 VALUES(1, '저녁메뉴추천좀', '냉무', CURDATE());
-- 가능하면 아래의 방법처럼 컬럼의 이름을 항상 적는것이 좋다.
INSERT INTO EXAM1(CONTENT, SUBJECT, CREATE_DATE) VALUES('배고프다', '뭐먹지', CURDATE());
UPDATE
테이블의 데이터를 수정(변경)할 때 사용한다.
UPDATE EXAM1
SET SUBJECT = '저녁사실먹었음'
WHERE ID = 1;
DELETE
WHERE절을 사용하지 않으면 모든 데이터가 삭제된다.
DELETE FROM EXAM1
WHERE ID=1;
SELECT
생성되어 있는 테이블에서 원하는 값을 조회할 때 사용한다.
-- Asterisk(*) 기호를 사용하여 해당 테이블의 모든 필드를 선택할 수 있다.
SELECT *
FROM 테이블명
-- WHERE절의 조건을 사용하면, 선택할 튜플의 조건을 상세히 설정 가능하다.
SELECT 필드이름
FROM 테이블이름
WHERE 조건
-- BETWEEN a AND b : a 이상 b 이하의 값을 출력
SELECT *
FROM EMP
WHERE SAL BETWEEN 800 AND 2450;
-- IN : IN 안의 값과 일치하는 데이터 출력
SELECT *
FROM EMP
WHERE EMPNO IN(7900, 7934);
-- LIKE : 문자 형태로 일치하는 데이터 출력 - 종류가 많아 따로 정리하겠다.
-- EMP 테이블에서 'K'라는 문자가 들어있는 사원 정보 조회
SELECT *
FROM EMP
WHERE ENAME LIKE "%K%";
-- IS NULL : NULL값을 가진 데이터를 출력
-- NOT between a and b : a와 b 사이에 없는 데이터를 출력
-- NOT IN(LIST) : LIST값과 일치하지 않는 데이터를 출력
-- NOT LIKE : 문자형태와 일치하지 않는 데이터를 출력
-- IS NOT NULL : NULL값을 갖지 않는 데이터를 출력
또한 SELECT 문의 마지막에 ORDER BY 절을 통해 정렬이 필요한 데이터를 정렬할 수 있다.-- ASC(오름차순), DESC(내
-- ASC : 오름차순, DESC : 내림차순
SELECT *
FROM EMP
ORDER BY EMPNO(ASC, DESC)
-- ALIAS 사용
SELECT SAL+COMM AS TOTAL
FROM EMP
ORDER BY TOTAL;
-- 컬럼의 숫자 사용
-- ( 2번째 열을 기준으로 정렬하기 )
SEELCT COMM
FROM EMP
ORDER BY 2;
-- 여러 컬럼을 기준으로 사용
-- ( 3번째 열을 기준으로 오름차순한 후, 1번째 열을 기준으로 내림차순 정렬 )
SELECT *
FROM EMP
ORDER BY 3,1 DESC
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!