insert

DML(Data Manipulation Language)
테이블에 레코드를 삽입할 때 사용하는 조작어.
레코드는 순서대로 들어가지 않는다.
transaction 대상 쿼리문.(DCL로 통제)

문법

insert into 테이블명(컬럼명,,,) values(,,,);// 컬럼명 생략 가능.
  • 숫자를 저장하는 테이블 생성(레코드는 존재하지 않는다.)
  • test_number 테이블에 1, 25, 182.5 추가하고 싶음.
    insert into test_number(num, age, height) values(1, 25, 182.5);

//컬럼을 명시하면 테이블의 컬럼 순서와 상관없이 값을 추가할 수 있다.
insert into test_number(age, height, num) values(27, 170.3, 2);

//컬럼을 생략하면 테이블의 컬럼순서대로 값을 입력해야 한다.
insert into test_number values(2, 27, 170.3);


Transaction

DB작업의 단위
DML중 insert, update, delete 쿼리문만 Transaction 대상 쿼리문이 된다.
쿼리문 하나로 transaction이 구성되는 경우도 있고, 여러 개의 쿼리문이 조합되어 transaction이 구성되는 경우도 있다.

transaction 완료 => 모든 쿼리문이 성공한 경우.
commit : 접속자 세션에서 변경된 내용들을 HDD기록하고, 변경된 내용을 모든 접속자세션에 통지하는 일을 한다.

transaction 취소 => 쿼리문 중 하나라도 실패한 경우.
rollback :
접속자 세션에서 변경한 내용을 취소하는 것.
저장점과 함께 사용하면 특정 위치까지의 작업을 취소할 수 있다.


select

테이블에서 모든 레코드의 특정 컬럼을 검색하는 DML

문법

//테이블의 모든 레코드를 검색
select
from

//조건에 맞는 레코드만 검색
where//그룹화 컬럼 값 중 중복된 값은 묶어서 하나로 검색
group by
having//정렬
order by

update

DML 중 하나
Transaction 대상 쿼리(commit, rollback)
최소 0건에서부터 최대 검색된 레코드 건까지 변경된다.

문법

//모든 레코드가 변경
update 테이블 명
set	   컬럼명 = 변경할 값,,,
//특정 레코드만 변경
where  컬럼명 = 찾을 값

delete

레코드를 삭제할 때 사용하는 DML
Transaction대상쿼리(commit, rollback)
최소 0건에서부터 최대 조건에 맞는 모든 레코드를 삭제한다.

문법

delete
from 테이블명//모든 레코드 삭제.
where 컬럼명 = 찾을값,//기준에 맞는 레코드만 삭제.

truncate

테이블에 모든 레코드를 절삭할 때 사용하는 DDL
transaction 대상쿼리문이 아님.
delete 보다 속도가 빠르다.
특정 레코드만 자를 수 없다.

문법

truncate table 테이블명;

drop

DBMS의 모든 객체를 삭제할 때 사용하는 DDL
oracle 11부터는 삭제된 테이블은 휴지통으로 이동한다.
휴지통에 들어간 테이블은 복구가 가능하다

문법

drop table 테이블명;

휴지통(recyclebin)

  • 휴지통에 들어간 테이블 보기
    show recyclebin

*휴지통에 있는 테이블 살리기

flashback table 테이블명 to before drop

0개의 댓글