DML (Data Manipulation Language): 데이터 조작 언어

데이터를 입력, 수정, 삭제하는 SQL 명령어

명령어 내용
INSERT 테이블에 새로운 행 추가
UPDATE 테이블의 행 내용을 변경
DELETE 테이블의 행 삭제

 


INSERT

테이블에 새로운 행을 추가하는 명령어

INSERT INTO 테이블명 (열1, 열2, ...)
VALUES(값1, 값2, ...)
INSERT INTO 테이블명 (열1, 열2, ...)
SELECT 테이블에 들어갈 값 FROM select 값을 구하기 위한 테이블 WHERE 조건

 

--emp_10 테이블을 서브쿼리를 이용해 생성하되, emp 테이블의 구조만 복사하세요.
CREATE TABLE emp_10(id, name, salary, hdate)
AS
SELECT empno, ename, sal, hiredate FROM emp WHERE 1=2;

--emp에서 10번 부서 사원들의 정보를 가져와 emp_10에 INSERT하세요
INSERT INTO emp_10
SELECT empno, ename, sal, hiredate FROM emp WHERE deptno=10;

emp 테이블의 10번 부서: 4명 (CLARK, KING, MILLER, ALLEN)
emp_10 테이블

 


UPDATE

테이블의 행 내용을 변경하는 명령어

1. 모든 데이터 수정
UPDATE 테이블명 SET 컬럼명1=값1, 컬럼명2=값2, ... ;
2. 조건에 맞는 데이터만 수정
UPDATE 테이블명 SET 컬럼명1=값1, 컬럼명2=값2, ... WHERE 조건절;
--emp2 테이블을 생성하되 emp의 데이터까지 포함시켜 생성하세요(서브쿼리 사용)
CREATE TABLE emp2
AS
SELECT * FROM emp;
--emp2 테이블에서 사번이 7788인 사원의 부서번호를 10으로 수정하세요
UPDATE emp2 SET deptno=10 WHERE empno=7788;
--emp2 테이블에서 사번이 7499인 사원의 부서를 20, 급여를 3500으로 변경하세요
UPDATE emp2 SET deptno=20, sal=3500 WHERE empno=7499;
--emp2 테이블에서 부서를 모두 10으로 변경하세요
UPDATE emp2 SET deptno=10;

 

 


DELETE

테이블의 행을 삭제하는 명령어

1. 모든 데이터 삭제
DELETE FROM 테이블명;
2. 조건에 맞는 데이터만 삭제
DELETE FROM 테이블명 WHERE 조건절;

 

--상품 테이블에 있는 상품 중 상품의 판매 가격이 10000원 이하인 상품을 삭제하세요.
DELETE FROM products WHERE output_price <= 10000;

--상품 테이블에 있는 상품 중 상품의 대분류가 도서인 상품을 삭제하세요.
DELETE FROM products
WHERE category_fk = 
(SELECT category_code FROM category WHERE category_name = '도서');

--상품 테이블에 있는 모든 내용을 삭제하세요.
DELETE FROM products;

products 테이블
category 테이블

 

+ Recent posts