Oracle 정리 Start
DB의 기능..
DDL(정의어) :create,alter,drop - db생성, 삭제 (DB구조관련)
DML(조작어): insert, update,delete,select - table생생,수정,삭제,선택 (DB자료관련)
DCL(제어어): grant,revoke - db권한부여,해제
TCL(트랜잭션): commit, savepoint, rollback
*트랜잭션:데이터의 일관성을 유지하면서 안정적으로 데이터를 복구시키기위한 하나의 논리적인 작업단위
download - scott,hr,sys,system설정
desc 테이블명 : 테이블구성
set linesize200 -컬럼간격조정
문자를 20문자만큼 줄인다 - column 컬럼명 format a20;
table리스트 -select * from tab
number(6)-여섯자리정수표현
varchar_메모리중 안쓰는 글자는 회수/char_고정해서 회수없이 글을 입력해야하는 경우
테이블의 컬럼을 추가(ex.first_name,last_name합침)
select ENAME||'의 직업은'||JOB||'입니다' as result from EMP; //||->자료와 자료를 연결,as->별칭부여(as대신 '필드명 별칭'으로 사용가능 ENAME NAME But~ 콤마가 들어가면 각각 필드명으로 인식)
->ed:에디터기록
컬럼이름변경:as result
select EMPNO as no, ENAME as name, EMPNO||' '||ENAME as na from EMP; //필드명 바꾸기, 필드합쳐서 보여주기
conn hr/tiger -연결변경
select ename, comm+500 from emp //결과값이 comm에 null이 있는 경우 그값은 +500이 안됨
select ename,sal,nvl(comm, 0)+500 as annual from emp; //nvl을 사용하면 null이 있는 경우에도 +500
select ename,sal,nvl(comm, 0)+500 as "annual add 500" from emp; //별칭의 이름을 길게 하여 띄어쓰기를 하는경우 쌍따옴표를 사용한다.
SELECT ENAME ||q'['s salary]'||SAL AS RESULT FROM EMP; //'안에 '를 또 넣어주어야 할때 q를 사용한다.
Distinct : 중복제거후 열거목록확인
select distinct job, deptno from emp //두개컬럼중 조합하여 동일한 값이 있다면 중복제거하여 보여줌.(job만을 위한 distinct가 아니라 job,deptno둘다에 해당하는 중복을 제거)
l : 버퍼에 있는 (edit) 내용
/:버퍼결과만 보여주려는 경우
r"버퍼내용과 결과 둘다 보여주려는 경우
select ename,job,deptno from emp where sal>=1500 //조건검색
select ename,job,deptno from emp where deptno<>30; //같지않은 조건검색 (deptno!=30)
와일드 카드(_ : 글자하나 %: 글자수 0~여러개)
'선'으로 시작하는 : where name like '선__'
'선'으로 끝나는 : where name like '선%'
'선'이 포함되는 where name like '%선%'
select * from emp where hiredate<='81/02/01'
dual은 더미값
ABS함수사용(절대값) : select -10, abs(-10) from dual;
FLOOR함수(소수점아래 버리기) : select 34.5678, floor(34.5678) from dual;
floor(-13.2) - >-14 //나보다 작은 값중에 최대 정수(내림)
ROUND함수(소수점반올림) : select 34.5678, round(34.5678) from dual;
ROUND함수(소수점반올림,자릿수) : select 34.5678, round(34.5678,2) from dual;
TRUNC함수(특정 자리수 버리기): select trunc(15.5678,1), trunc(15.5678,-1), trunc(15.5678) from dual;
//자릿수 버림
MOD함수(나머지값구하기): select mod(27,2) from dual;
select ceil(34.5678),ceil(-34.5678); //자릿수 올림
p.137 페이지 함수 보기(http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions002.htm)