데이터 베이스(Oracle)

DML(Data ManipulationLanguage)

alsdnr6672 2024. 7. 31. 17:10

    DQL(QUERY, 데이터 조회): SELECT(조회)
   * DML(MANIPULATION, 데이터 조작) : INSERT(추가/삽입),UPDATE(수정), DELETE(삭제)
    DDL(DEFINITON, 데이터 정의) : CREATE(생성), ALTER(변경), DROP(삭제)
    DCL(CONTROL, 데이터 제어): GRANT, REVOKE
    TCL(TRANSACTION, 트랜잭션 제어) : COMMIT, ROLLBACK

 

INSERT ALL
    : 두개 이상의 테이블에 각각 테이블를 추가할 때 사용
      이때 사용되는 서브쿼리가 동일한 경우

--사번, 사원명, 부서코드, 입사일 정보를 가지는 테이블
DROP TABLE EMP_DEPT;
CREATE TABLE EMP_DEPT
AS (SELECT EMP_ID, EMP_NAME, DEPT_CODE, HIRE_DATE
    FROM EMPLOYEE
    WHERE 1=0);
   
--사번, 이름, 사수사번 정보를 가지는 테이블 
CREATE TABLE EMP_MANAGER
AS (SELECT EMP_ID, EMP_NAME, MANAGER_ID
    FROM EMPLOYEE
    WHERE 1=0);
        
--부서코드가 'D1'인 사원의 사번, 사원명, 부서코드, 사수번호 입사일 정보 조회
SELECT EMP_ID, EMP_NAME, DEPT_CODE, MANAGER_ID, HIRE_DATE
FROM EMPLOYEE
WHERE DEPT_CODE = 'D1';
INSERT ALL
    INTO EMP_DEPT VALUES (EMP_ID, EMP_NAME, DEPT_CODE, HIRE_DATE)
     INTO EMP_MANAGER VALUES(EMP_ID, EMP_NAME,MANAGER_ID)
     (SELECT EMP_ID, EMP_NAME, DEPT_CODE, MANAGER_ID, HIRE_DATE
FROM EMPLOYEE
WHERE DEPT_CODE = 'D1');

 

 

DELETE : 테이블에 기존에 저장된 데이터를 삭제할때 사용하는 구문

DELETE FROM 테이블명
   [WHERE 조건식];  --> WHERE절 생략시 모든 데이터(행)를 삭제

 

--양준혁 사원의 데이터를 삭제
DELETE FROM EMPLOYEE
WHERE EMP_NAME = '양준혁';

 

UPDATE : 테이블에 저장되어있는 기존의 데이터의 값을 변경하는 구문

--부서코드 (DEPT_ID)가 'D1'인 부서의 부서명을 '인사팀'으로 변경 
UPDATE DEPT_TABLE
    SET DEPT_TITLE = '인사팀'
   WHERE DEPT_ID = 'D1';

'데이터 베이스(Oracle)' 카테고리의 다른 글

DDL(Data Definition Language)  (0) 2024.07.30
JOIN  (0) 2024.07.29
GROUP BY&HAVING&집합연산자4  (0) 2024.07.25
GROUP BY&HAVING&집합연산자3  (1) 2024.07.25
GROUP BY&HAVING&집합연산자2  (0) 2024.07.25