오라클 정리



* regedit 에서 언인스톨


1. 서비스 중지

2. software에 오라클 삭제

3. system 에 control set service 오라클과 관련된 전부다 삭제

4. 물리적인 삭제 (c:\app , programfiles\oracle)


* 유저 생성 및 권한 설정

create user workshop identified by workshop;

grant resource, connect to workshop;


*ROWNUM

쿼리 결과로 나오게 되는 각각의 행들에 대한 순서값을 가리킨다.

주로 특정 개수난 그 이하의 행를 선택할때 사용된다.


*ROWID

테이블에 저장된 각각의 행들이 저장된 주소값을 가리킨다.

즉 행들의 고유 주소값이다.


*별칭

별칭이 공백이 있으면 ""를 붙인다.


* is null

nvl(컬럼, 0) : 컬럼이 널이면 0

nvl(컬럼, 1, 2) : 컬럼이 널이면 1, 아니면 2


* 문자열 합치기 

||


* 리터널

문자, 숫자, 날짜 값은 ''을 붙인다.


*비교 연산자

다르자는 <>, !=, ^=, <>는 동일한 의미를 같는다.


*like연산자

_L% 는 경우 앞에 한글자가 있고 뒤에 L이 와야 한다는 뜻


* in 연산자

in연산자를 쓸경우 내부적으로 자동으로 or연산자로 변경된다고 함.


* order by

컬럼, 식, 인덱스번호 등 3가지로 정렬이 가능하다


* 주민등록번호 별표 마킹

select RPAD(SUBSTR(STUDENT_SSN, 1, 8), 14, '*') FROM TB_STUDENT;

예) 811111-1******


* 음수 양수 확인

sign 함수로 0이면 0, 양수 1, 음수 -1를 반환한다.


* 날짜 저장

오라클은 RR, YY라는 의미가 있음

RR은 현재 날짜, YY 해당 날짜 임


* 날짜 함수

select sysdate, systimestamp from dual;





 <- to_number          to_date ->

숫자 문자 날짜

 to_char -> <- to_char



* 그룹 함수는 널을 무시하지 않고 카운트에 포함한다.


* 제약조건 확인

select * from USER_CONSTRAINTS;

select * from USER_CONS_COLUMNS;


*안시 조인

  안시 조인은 where 절이 없다?


* 서브 쿼리 

 - all 연산자

 :  메인 쿼리의 조건이 서브 쿼리에 모든 조건에 만족해야 함

 

 - any연산자

 : 메인 쿼리의 조건이 하나만 만족해도 됨


 - exists

 : 서브쿼리의 결과가 있는지 체크하여 있으면 메인쿼리랑 없으면 결과 없음 리턴


* 서브 쿼리 실행

 - from만 메인쿼리가 먼저 실행. 나머지는 서브쿼리가 먼저 실행


* 트랜잭션

 - 명시적 종료 : commit, rollback

 - 묵시적 종료 : exit(commit), 창닫기(rollback)


* 트랜잭션 시작 종료

 - 시작 : DML명령을 시작한 경우

 - 종료 

: 사용자가 commit 도는 rollback을 명시적으로 실행한 경우

  : DDL문장을 실행한 경우

: DCL문장을 실행한 경우

: 사용자가 exit로 프로그램을 종료한 경우

: 하드웨어 고장 또는 시스템 오류시(rollback)



* union vs union all

 : union은 중복이 제거 되며 자동으로 값을 정렬한다.

 : union all 은 중복이 제거 되지 않으며 값도 정렬 되지 않는다.


*제약조건

- 제약 조건 중 not null은 컬럼레벨에만 적용, 테이블 레벨에서는 안되고 나머지는 둘다 가능


*pk 네이밍 규칙

테이블명_컬럼명_pk이름



* 테이블 정보 보기

select * from tab;


* table 삭제

delet만 하면 휴지통에 버리는 거고 + PURGE 를 붙혀야 완전삭제


* 테이블 복구

flashback table 테이블명 to before drop;



* 데이터 삭제

truncate는 ddl이기 때문에 자동 트랜잭션. 그래서 롤백이 안된다.

수행 속도도 truncate가 더 빠름.

delete인 경우는 복사복을 만들고 지움.



* 데이터 저장공간

- block : I/O단위

- extent : 메모리 할당 단위(block들의 집합)


논리적인


block -> extent -> segment(table로 이해하면 쉽다) -> tablespace -> data base;


물리적인

os블록 = block

tablespace = data파일(*.dbf)



* 사용자가 생성한 뷰 목록 보기

select * from user_views;


* 뷰는 수정이 없고 create or repalce 를 이용하여 없으면 만들고 있으면 다시 생성함.


* 시퀀스 정보 보기

select * from user_sequences;



* 실행계획 보기

f10


* 인덱스를 이용하지 않는 경우

not 같은 부정

null 관련

컬럼 변형(to number)


 

+ Recent posts