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 |