공부/DB

[Oracle] 오라클정리

JangGiraffe 2016. 6. 17. 10:15



DML(Data Manipulation Language)

Insert

insert into 테이블명 values(데이터,데이터....);

Update

update 테이블명 set 컬럼명='값' where 컬럼명='값';

조건이 없을 시 where 이하 생략 가능

Delete

delete from 테이블명 where 컬럼명='값';

조건이 없을 시 where 이하 생략 가능

 

 

DDL(Data Definition Language)

Create

Create table 테이블명(컬럼명 데이터타입(값), 컬럼명 데이터타입(값).......);

Alter

Alter Table 테이블명 [modify | Add](컬럼명 데이터타입(값));

Rename

Rename 테이블명 to 바꿀 테이블명;

Truncate ( 테이블 삭제 후 commit까지 실행. 복구 불가능)

turncate table 테이블명;

Drop

drop table 테이블명;

 

DCL(Data Control Language)

Grant- 권한부여

Grant 권한 to 사용자;

Revoke- 권한삭제

revoke 권한 from 사용자;

 

오라클의 데이터형

Number(소숫점 포함 자릿수, 값)

숫자형 데이터를 저장

ex) 123.123->  Number(3,2) -> 123.12 |  123.12 -> Number(3,-1)-> 120

Date

날짜형 데이터를 저장. 세기 년 월 일 시 분 초. 기본 날짜형식 YY/MM/DD

Char(값)

고정 길이 문자 데이터를 저장 

*값에는 숫자Byte, 숫자 등이 들어가며 기본값은 Byte값이다.

Varchar2(값)

가변 길이 문자 데이터를 저장

------------------------------------------------------------------------------------------

 

* distinct키워드 - 중복되는 내용을 하나만 출력, 테이블명 앞에 키워드를 써준다.

 

연산자

where절 등에 사용하는 논리연산자

And : 둘다 만족하면 검색

Or : 하나만 만족하더라도 검색

not : 반대되는 논리값을 구함

Between 값1 and 값2 : 값1 과 값2 사이

In(값1,값2,값3) : 값1,값2,값3에 해당하는 데이터 검색

<> : not in과 같은 표현.     ex) comm<>300 : 300이 아닌 comm 데이터

Like : 원하는 값을 찾을 때 와일드카드와 함께 사용

와일드카드(%,_)

%: 문자가 없거나 하나 이상의 문자에 어떤 값이 와도 상관 없다

_: 하나의 문자에 어떤 값이 와도 상관 없다

ex)장% : 앞글자가 장인 데이터.

ex)__장 : 앞에 두개의 글자가 있고, 장으로 긑나는 데이터 (언더바 2개 입니다)

Null을 위한 연산자 : is Null - 널인 데이터

 

 

------------------------------------------------------------------------------------------

 

조인

내부조인

조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결해 결과를 생성

ex)

select ~~

from 테이블1,테이블2

where 테이블1.a = 테이블2.a

ANSI inner join)

select ~~

from 테이블1 Inner join 테이블2

on 테이블1.a = 테이블2.a; <- 같은 표현으로 using(a);를 사용해도 됨.

외부조인

2개 이상의 테이블이 조인될 때 어느 한쪽의 테이블에는 데이터가 존재하는데 다른 한쪽에 데이터가 존재하지 않는 경우에도 출력하도록 하는 조인방법

ex)

select ~~

from 테이블1,테이블2

where 테이블1.a=테이블2.a(+)

ex2)

select X.a, X.b, 테이블2.c

from 테이블1 X, 테이블2 Y

where X.a= Y.a;

ANSI outer join)

select *

from 테이블1 [Left|Right|Full] outer join 테이블2

using(공통컬럼); <- on대신 공통컬럼명을 using을 사용해서 명시해도 됨

 

------------------------------------------------------------------------------------------

 

서브쿼리 사용법..

where 이하에 원하는 쿼리를 넣는다.

select 컬럼

from 테이블명

where 컬럼명 = (select..from....등등)

반응형