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;
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;