본문 바로가기
DB/SQL(오라클)

오라클(SQL) DML (Data Manipulation Language)

by redbear0077 2021. 3. 12.
반응형

DML (Data Manipulation Language)

테이블 다운로드


-데이터 조작어
-insert(INTO), update(SET), delete 명령이 포함
1. insert명령
    -데이터를 테이블에 신규 등록할때 사용하는 명령
    (사용형식)
    INSERT INTO 테이블명[(컬럼명1,컬럼명2,....)]
      VALUES(값1,값2,...); --값이 모자라면 오류 발생 NULL허용된것만 생략할 수 있다 
    -(컬럼명1,컬럼명2,...) : 생략 가능하며 생략하면 테이블 생성시 만들어진 모든 컬럼에 생성된 순서에 맞도록 VALUES절의 값이 ()안에 정의 되야함.
    -(컬럼명1,컬럼명2,...)을 기술하는 경우->데이터 입력이 불필요한 컬럼을 생략 단, 컬럼제약사항이 NOT NULL 인 경우 생략 할 수 없다.
    -사용된 '컬럼명'의 수와 '값'의 갯수와 순번은 반드시 일치해야 한다.

 

사용예) 다음 자료를 회원테이블(TB_MEM)에 삽입하시오

[자료]

회원번호 이름 주소 전화번호
M1001 홍길동 대전시 중구 대흥동 042-222-8202
M1002 이길선 서울시 성북구 신장위동 02-7654-0987
M1003 천상봉 충북 제천시 신월동  
M1004 강감찬    
INSERT INTO TB_MEM
        VALUES('M1001','홍길동','대전시 중구 대흥동','042-222-8202');

INSERT INTO TB_MEM(MEM_ADDR,MEM_ID,MEM_NAME,MEM_TELNO)
        VALUES('서울시 성북구 신장위동','M1002','이길선','02-7654-0987');

INSERT INTO TB_MEM
        VALUES('M1003','천상봉','충북 제천시 신월동','');

INSERT INTO TB_MEM(MEM_ID,MEM_NAME)
        VALUES('M1004','강감찬');

SELECT * FROM TB_MEM;

문제) 다음 자료를 상품데이터(TB_GOODS)에 입력하시오
    상품코드          상품명            가격
    ---------------------------------------------------- 
    G11001            마우스              15,000  
    G12002            USB(64G)            25,000    
    G20001            마커펜      
    G21001            볼펜
    -----------------------------------------------------

INSERT INTO TB_GOODS
        VALUES('G11001','마우스',15000);
        
INSERT INTO TB_GOODS(GOOD_ID,GOOD_NAME,GOOD_PRICE)
        VALUES('G12002','USB(64G)',25000);
        
INSERT INTO TB_GOODS(GOOD_ID,GOOD_NAME)
        VALUES('G20001','마커펜');
        
DELETE FROM TB_GOODS WHERE GOOD_NAME='마커펜';
DELETE FROM TB_GOODS WHERE GOOD_NAME='마우스';
DELETE FROM TB_GOODS WHERE GOOD_NAME='USB(64G)';

INSERT INTO TB_GOODS(GOOD_ID,GOOD_NAME)
        VALUES('G21001','볼펜');

문제)다음 자료를 주문테이블(ORDERS)에 입력하시오
    주문번호 : 1
    주문일자 : 오늘
    주문금액 : ?
    상태 : ?
    주문자 : 천상봉

 INSERT INTO ORDERS(ORDER_ID,MEM_ID)
        VALUES(1,'M1003');
    SELECT * FROM ORDERS;

사용예)다음 자료를 주문상세테이블(ORDERS_GOODS)에 저장하시오
    상품코드    주문번호    수량     
   -----------------------------------------------------
    G12002      1         5     --USB (25000)
    G21001      1         24    --볼펜(0)
    G20001      1         10    --마커펜(0)
   -----------------------------------------------------

INSERT INTO ORDERS_GOODS
        VALUES('G12002',1,5);
    
    SELECT * FROM ORDERS_GOODS;
    
    INSERT INTO ORDERS_GOODS
        VALUES('G21001',1,24);
        
    INSERT INTO ORDERS_GOODS
        VALUES('G20001',1,10);
        
     INSERT INTO ORDERS_GOODS
        VALUES('G11001',1,2);
    
    UPDATE ORDERS
        SET ORDER_AMT=(SELECT SUM(B.GOOD_PRICE*A.QTY)
                FROM ORDERS_GOODS A, TB_GOODS B
                WHERE A.GOOD_ID=B.GOOD_ID),
            ORDER_FLAG='2'
    WHERE ORDER_ID=1;
    
    (결과 확인)
    SELECT * FROM ORDERS;
    
    COMMIT;
반응형

'DB > SQL(오라클)' 카테고리의 다른 글

PL/SQL의 종류 Stored procedure  (0) 2021.03.12
오라클(SQL)UPDATE문  (0) 2021.03.12
오라클(SQL) FOR문과 CURSOR  (0) 2021.03.12
오라클(SQL)반복문과 커서 FOR문  (0) 2021.03.11
오라클(SQL)반복문과 커서 WHILE  (0) 2021.03.11