▶ DML(Data Manipulation Language) - 데이터 조작어
정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어를 말합니다.
즉, 테이블에 있는 행과 열을 조회, 수정, 삭제하는 언어입니다.
종류 | 역할 |
SELECT | 테이블에서 조건에 맞는 튜플을 검색한다. |
INSERT | 테이블에 새로운 튜플을 삽입한다.. |
UPDATE | 테이블에서 조건에 맞는 튜플의 내용을 변경한다. |
DELETE | 테이블에서 조건에 맞는 튜플을 삭제한다. |
먼저, DDL의 CREATE 로 테이블은 생성시켜 놓고 DML를 활용해보겠습니다.
-- 'notice' 라는 이름의 테이블 정의
create table notice (
idx int auto_increment primary key,
title varchar(100) not null,
content text not null,
author varchar(20) not null,
wr_date date not null,
view_count int default 0
);
1. SELECT(검색) : SELECT~ FROM~ WHERE~
select [PREDICATE] 속성명 from 테이블명 [where 조건] [order by 속성명 [ASC | DESC]]; select * from 테이블명; |
▶ PREDICATE 명령어 종류
- ALL : 모든 튜플을 검색한다. (기본값)
- DISTINCT : 중복된 튜플이 있으면 그중 첫 번째 한 개만 검색한다.
- DISTINCTROW : 중복된 튜플을 제거하고 한 개만 검색하지만, 선택된 속성의 값이 아닌 튜플 전체를 대상으로 한다.
▶ 속성명 : 정렬의 기준이 되는 속성명 기술
- ASC : 오름차순
- DESC : 내림차순
-- 'notice' 테이블의 모든 튜플 검색
select * from notice;
-- 'notice' 테이블에서 'title', 'content' 속성 중 1번째, 3번째 튜플 검색
select title, content from notice where idx in(1, 3);
-- 'notice' 테이블에서 'title', 'content' 속성 중 'wr_date'가 '2021-05-01' ~ '2021-05-20' 검색
select title, content from notice where wr_date between '2021-05-01' and '2021-05-20';
-- 'notice' 테이블에서 'idx'속성을 내림차순으로 정렬하고 상단 튜플2개 검색
select * from notice order by idx DESC limit 2;
2. INSERT(삽입) : INSERT INTO~ VALUES~
insert into [테이블명] [(속성명1, 속성명2)] values [(데이터1, 데이터2), (데이터1, 데이터2)...]; insert into [테이블명] values [(데이터1, 데이터2)]; |
-- 1행 데이터
insert into notice(title, content, author, wr_date) values
('첫 번째 글', '글 등록하기 1111', '관리자', '2021-05-01');
-- 복수 데이터
insert into notice(title, content, author, wr_date) values
('두 번째 글', '글 등록하기 2222', '관리자', '2021-05-10'),
('세 번째 글', '글 등록하기 3333', '관리자', '2021-05-18');
3. UADATE(변경) : UPDATE~ SET~ WHERE
update 테이블명 set 속성명 = 데이터 [, 속성명 = 데이터, ...] [whrere 조건]; |
-- 'notice' 테이블의 'view_count' 값을 10으로 변경
update notice set view_count=10;
4. DELETE(삭제) : DELETE~ FROM~ WHERE~
delete from 테이블명 [where 속성명 = 데이터]; |
-- 'notice' 테이블의 첫번째 idx 튜플을 삭제
delete from notice where idx=1;
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] DCL 활용(2) - 트랜잭션 COMMIT, ROLLBACK (0) | 2021.06.01 |
---|---|
[MySQL] DCL 활용(1) - 사용자 권한부여(GRANT), 권한취소(REVOKE) (0) | 2021.06.01 |
[MySQL] SQL 제약조건 종류 (0) | 2021.05.31 |
[MySQL] SQL 데이터타입 자료형 종류 (0) | 2021.05.31 |
[MySQL] DDL 활용 - 테이블 생성, 수정, 삭제하기 (0) | 2021.05.31 |