DDL_Insert (추가)
카테고리: Oracle
DML (Data Management Language)데이터 조작언어
- insert(추가)
- update(수정)
- delete(삭제)
- select(조회 및 선택)
[1] 샘플 테이블 생성
create table exam01(
deptno nember(2),
dname varchar2(15),
loc varchar2(15)
);
selest*from exam01;
[2] 레코드 추가
- 레코드 추가 방법 #1
insert into 테이블이름(필드명1, 필드명2, 필드명3,....)values(값1, 값2, 값3, ....);
- 레코드 추가 방법 #2
insert into 테이블이름 values(값1, 값2, 값3, ....);
#1과 #2의 차이점
- #1 : 필드명과 입력되어야 하는 값들이 1:1 매칭되어 입력된다
- 필드명의 순서는 반드시 지켜야하는 것은 아니지만 나열된 필드명대로 값들의 순서는 맞춰서 입력한다
insert into exam01 ( deptno, dname, loc )values( '기획부', 10, '서울'); X
insert into exam01 ( deptno, dname, loc )values( 10, '기획부', '서울'); O
insert into exam01 ( deptno, dname, loc )values( '서울', 10, '기획부'); O
- null 값을 허용하는 필드나, default 값이 있는 필드는 생략하고 구성할 수 있다
insert into exam01 values(10,'기획부', '서울'); O
- #2는 null 을 허용하는곳을 비우고 입력할 수 없으며, null 이라도 직접 지정해야 한다
insert into exam01 values(10, null, '서울'); O
- #1 과 #2 공통으로 숫자는 그냥 쓰고, 문자는 작은 따옴표로 묶어서 표현한다
delete from booklist; -- 테이블내의 모든 레코드를 삭제하는 명령
- 위 두가지 방법 중 자유롭게 선택하여서, booklist 테이블에 10개의 레코드를 추가해보자
- booknum 은 시퀀스를 이용한다
- grade 는 ‘all’ ‘12’ ‘18’ 세가지만 골라서 입력해보자. 자신이 만든 테이블에 grade가 없으면 입력하지 않아도 된다
insert into booklist values( book_seq.nextVal, '일곱해의 마지막', 2020, 12150, 2000, 'all');
insert into booklist values( book_seq.nextVal, '봉제인형 살인사건', 2019, 13150, 2000, '18');
insert into booklist values( book_seq.nextVal, '쇼코의 미소', 2023, 13420, 2000, '12');
insert into booklist (booknum, subject, makeyear, inprice, rentprice, grade)
values(book_seq.nextVal, '좀비아이', 2020, 12000, 2500, 'all');
insert into booklist values( book_seq.nextVal, '가면산장 살인사건', 2018, 13320, 1500, '12');
insert into booklist values( book_seq.nextVal, '나미야 잡화점의 기적', 2017, 13320, 2000, '18');
insert into booklist values( book_seq.nextVal, '유튜브영상편집', 2020, 20700, 2500, 'all');
insert into booklist values( book_seq.nextVal, '이것이자바다', 2017, 30000, 3000, '18');
insert into booklist values( book_seq.nextVal, 'JSP웹프로그래밍', 2016, 25000, 3000, '12');
insert into booklist values( book_seq.nextVal, '오라클데이터베이스', 2020, 30000, 3000, 'all');
SELECT*FROM BOOKLIST;
- memberlist 에 10명의 데이터를 추가해보자 (member_seq 이용)
insert into memberlist( membernum, name, phone )
values( member_seq.nextVal , '홍길동', '010-1111-2222');
insert into memberlist( membernum, name, phone )
values( member_seq.nextVal , '홍길서', '010-3333-4444');
insert into memberlist( membernum, name, phone )
values( member_seq.nextVal , '홍길남', '010-5555-6666');
insert into memberlist( membernum, name, phone )
values( member_seq.nextVal , '홍길븍', '010-7777-8888');
INSERT INTO memberlist
VALUES(member_seq.nextVal, '추신수','010-5656-1234', '84/07/07', 240, 'M', 28);
INSERT INTO memberlist
VALUES(member_seq.nextVal, '류현진','010-4444-1234', '83/08/08', 142, 'F', 27);
INSERT INTO memberlist
VALUES(member_seq.nextVal, '손흥민','010-6666-1234', '82/09/23', 240, 'M', 23);
INSERT INTO memberlist
VALUES(member_seq.nextVal, '이천수','010-3333-1234', '81/06/14', 440, 'F', 36);
INSERT INTO memberlist
VALUES(member_seq.nextVal, '이영표','010-2580-1234', '82/03/16', 140, 'M', 31);
INSERT INTO memberlist
VALUES(member_seq.nextVal, '최지만','010-7777-1234', '83/07/14', 340, 'F', 29);
select*from booklist;
select*from memberlist;
- rentlist 테이블도 rent_seq를 이용해서 10개의 데이터를 추가해주세요
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2021/10/01',27, 2, 100);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2022/09/23',28, 1, 200);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2023/08/13',29, 3, 100);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2024/08/11',30, 4, 200);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2020/07/09',31, 5, 100);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2022/06/08',32, 6, 300);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2023/02/21',33, 7, 100);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2023/01/21',34, 8, 300);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2024/03/14',25, 9, 100);
INSERT INTO rentlist VALUES(rent_seq.nextVal,'2021/09/23',26, 10, 200)
select*from rentlist;
INSERT INTO rentlist VALUES(rent_seq.nextVal, '2023/10/05', 50, 10, 200);
commit -- 현재창에서 commit은 세미콜론은 붙이지 않습니다. 단일 명령이고 다른 명령과 함께 사용하지 않는 다는 뜻입니다
- 데이터베이스 백업명령
exp userid=scott/tyger file=abc.dmp log=abc.log
- 데이터베이스 복원명령
imp userid=scott/tyger file=abc.dmp log=abc.log full=y
댓글 남기기