## DML(데이터 조작어)
-- CUD:row 단위, 추가, 변경, 삭제
-- CRUD:추가,조회,변경,삭제
-- 로그가 남는다 => 작업내용 로그를 기반으로 작업을 취소 할 수 있다!!!
ST_DEPT(D_NO,D_NAME)
ST(S_NO,NAME,BIRTH,POINT,D_NO)
CREATE TABLE ST_DEPT (
D_NO NUMBER(2),
D_NAME VARCHAR2(100),
);
ALTER TABLE ST_DEPT
MODIFY D_NO NUMBER(4);
CREATE TABLE ST(
S_NO CHAR(5),
S_NAME VARCHAR2(100),
S_BIRTH DATE,
POINT NUMBER(2,1),
D_NO NUMBER(2)
);
## ST_DEPT 자료 입력
-- 숫자 타입 : 숫자만, 표시형식 콤마 빼고...
-- 문자, 날짜 : '자료값' 작은 따옴표로 감싼다.
-- ST_DEPT(D_NO,D_NAME)
-- INSERT INTO 테이블명(컬럼명,컬럼명...) VALUES (값1,값2...);
-- 자료 입력방법 1
INSERT INTO ST_DEPT(D_NO,D_NAME) VALUES (10,'국문과');
INSERT INTO ST_DEPT(D_NO,D_NAME) VALUES (20,'영문과');
INSERT INTO ST_DEPT(D_NO,D_NAME) VALUES (30,'수학과');
-- 자료 입력방법 2
--컬럼리스트 생략가능 ==> 테이블 스키마 대로 모두 입력, 순서 맞춰서...
INSERT INTO ST_DEPT VALUES(40,'컴공과');
INSERT INTO ST_DEPT VALUES(50,NULL);
-- 자료 입력방법 3
-- 다른테이블의 자료를 읽어서 왕창 쏟아붓는 방법
INSERT INTO ST_DEPT
SELECT DEPARTMENT_ID,DEPARTMENT_NAME
FROM DEPT
WHERE DEPARTMENT_ID<100;
====================================
## 자료 수정
-- UPDATE
-- UPDATE 테이블명
SET 컬럼명 = 값, 컬럼명 = 값 ....
WHERE 조건식;
-- ST_DEPT 테이블의 50부서의 이름을 '경영학과'
UPDATE ST_DEPT
SET D_NAME = '경영학과'
WHERE D_NO=50;
==> 만약에 WHERE절 생략시 테이블의 D_NAME의 모든 ROW의 값이 변경 !!
-- 110 사원의 부서를 132 사번의 부서로 변경해라.
UPDATAE EMP
SET DEPARTMENT_ID = (SELECT DEPARTMENT_ID
FROM EMP
WHERE EMPLOYEE_ID=132)
WHERE EMPLOYEE_ID = 110;
=====================================
## 자료 삭제 : 조건에 맞는 행만 삭제
--DELETE
--DELETE 테이블명;
--DELETE FROM 테이블명;
WHERE 조건식;
DELETE FROM ST_DEPT
WHERE D_NO = 50;
## 자료 삭제 : 입력자료 모두 삭제
--DELETE FROM ST_DEPT;
=>WHERE 절 생략하는 방법
=>INSERT 한 모든 자료가 삭제됨
=>DML=>로그 남음, 취소 할 수 있다.
TRUNCATE TABLE 테이블명;
=>INSERT한 모든 자료가 삭제됨
=>DDL=>로그가 남지 않는다.->취소불가!!
'Lobo's study room > 오라클DB' 카테고리의 다른 글
oracle 설치하기 (0) | 2022.02.10 |
---|---|
Oracle DB의 INDEX와 시퀀스 (0) | 2022.02.10 |
Oracle DB의 DDL (0) | 2022.02.10 |
[5일차 과제]서브쿼리 (0) | 2022.02.10 |
[5일차]set 연산자 (0) | 2022.02.10 |