DDL_Insert (추가)

Date:     Updated:

카테고리:

태그:

oracle.png

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

Oracle 카테고리 내 다른 글 보러가기

댓글 남기기