[DB] 데이터베이스 언어 SQL(Structured Query Language) - DML(삽입 / 수정 / 삭제)
2021. 10. 16. 20:20ㆍMajor`/DB
SQL 기능에 따른 분류
- 데이터 정의어(DDL : Data Definition Language)
- 테이블 생성, 변경, 제거
- CREATE, ALTER, DROP 문
- 데이터 조작어(DML : Data Manipulation Language)
- 생성된 테이블에 데이터를 검색, 삽입, 수정, 삭제
- SELECT, INSERT, UPDATE, DELETE 문
- 데이터 제어어(DCL : Data Control Language)
- 사용자 접근 제어, 백업과 회복, 동시성 제어 등
- GRANT, REVOKE, COMMIT, ROLLBACK 문
DDL : 생성
CREATE TABLE 고객(
고객번호 NUMBER PRIMARY KEY,
고객이름 VARCHAR2(10) NOT NULL,
나이 NUMBER NOT NULL,
등급 VARCHAR2(10) NOT NULL,
직업 VARCHAR2(20) DEFAULT '무직',
적립금 NUMBER
);
DML : 삽입 / 수정 / 삭제
1. INSERT 문 : 데이터 삽입
- 테이블에 새로운 투플을 삽입
- INSERT 문이 실패하면 투플 삽입이 취소
- 기본 문법
INSERT INTO 테이블이름 [(속성 이름)]
VALUES (값리스트);
- DEFAULT 제약조건이 있는 속성이 있을 경우, 그 속성을 제외한 나머지 속성을 속성 이름에 모두 적어줘야 한다
INSERT INTO 고객 VALUES (1,'Alex',38,'Gold','회사원',0);
INSERT INTO 고객 VALUES (2,'Aimee',23,'Silver','학생',500);
INSERT INTO 고객 VALUES (3,'Ali',33,'Platinum','사업가',2500);
INSERT INTO 고객 VALUES (4,'Pacho',49,'Diamond','기업 회장',24000);
INSERT INTO 고객 VALUES (5,'Brand',18,'Bronze','학생',240);
INSERT INTO 고객 VALUES (6,'Chari',29,'Platinum','트레이너',1800);
INSERT INTO 고객(고객번호, 고객이름, 나이, 등급, 적립금) VALUES (7,'Emilee',35,'Silver',1400);
2. UPDATE 문 : 데이터 수정
- 특정 속성값을 수정하는 명령
- 기본 문법
UPDATE 테이블이름
SET 속성명1 = 값1 [, 속성명2 = 값2, ...]
[WHERE 조건문];
- WHERE 절은 생략할 수 있지만, 생략하면 모든 행을 일괄적으로 갱신할 수 있음
SELECT * FROM 고객 WHERE 고객번호=7;
UPDATE 고객 SET 직업='사업가' WHERE 고객번호=7;
SELECT * FROM 고객 WHERE 고객번호=7;
3. DELETE 문 : 데이터 삭제
- 테이블에 있는 기존 투플을 삭제하는 명령
- 기본 문법
DELETE [FROM] 테이블이름
[WHERE 조건문];
- WHERE절이 없는 경우, 모든 행이 삭제된다
- WHERE 절을 만족하지 않으면 삭제는 발생하지 않고, 만족할 경우 하나 이상의 행이 삭제
- DELETE 문은 행 단위로 적용되며, 행의 일부만 삭제하는 것은 불가능하다
DELETE FROM 고객
WHERE 고객번호=7;