
[Oracle] 간단 정리*
헤이베이지 HeyBeige
·2021. 2. 10. 17:20
SQL (오라클을 실행하는 언어 ) => 검색 ( SELECT)
DML (데이터 관리(조작) ) => 웹프로그래머
= SELECT : 데이터 찾기
= INSERT : 데이터 추가
= UPDATE : 데이터 수정
= DELETE : 데이터 삭제
DDL : 생성 (테이블, 뷰...)
CREATE , DROP , ALTER , RENAME , TRUNCATE
DCL : REVOKE , GRANT
TCL : COMMIT , ROLLBACK
Table : 저장공간 ( column , row) => 단위 row
1) SELECT : 데이터 검색
형식)
===============================================================
SELECT * (전체) | 원하는 데이터만 출력 (column1 , column2..)
FROM 테이블명 (뷰명 , SELECT~~)
===============================================================필수
Option [
1.WHERE 조건문 (형식 컬럼명 연산자 값) ==> 연산자
name = '홍길동'
================================================
2.GROUP BY 컬럼명 ==> 집합함수
3.HAVING 그룹조건
================================================
4.ORDER BY 컬럼명 ASC|DESC => ASC는 생략이 가능
======번호사용 (컬럼의 위치번호)
====== , 이중 정렬
]
2) 연산자
= 산술 연산자 : + ,-,*,/ , %(MOD)
=========== 형변환 => 1+ '1' = 2 자동으로 문자열 1이 정수로 형변환 된다.
변환 함수 => TO_CHAR , TO_NUMBER , TO_DATE
= 비교 연산자 : 결과값 : boolean(true/false)
= (같다) <-> [ != , <> , ^= ]
<,>,<=,>=
= 논리연산자 : 결과값 : boolean(true . false)
AND , OR
** & : 입력값을 받는 경우
** || : 문자열의 결 합
=IN => 여러개의 OR를 대체
=BETWEEN ~ AND : >= AND =<(기간, 범위)
=NOT :부정 => NOT BETWEEN , NOT LIKE , NOT IN (!는 자바에서의 부정)
=LIKE : %(문자열 제한이 없다), _(한글자)
=> 한계 => REGEXP_LIKE() : LIKE를 보완한 함수
=NULL : 모든 연산자는 NULL값을 처리 할 수 없다
IS NULL
IS NOT NULL
3) 내장 함수
= 단일행 함수 (ROW 단위로 변경)
문자 함수
| LENGTH('') : 문자 개수
| SUBSTR(문자열,문자시작 인덱스,개수) : 문자를 자를 경우 -> 오라클 INDEX 시작(1)
| INSTR(문자열,찾는문자,문자 시작번호,문자위치번째) 출력 되는 데이터: INDEX 번호
| ->INSTR('A-B-C-D','-',1,3) => 6
| RPAD(문자열,문자출력개수,'채울문자')
| -> RPAD ('ABC',7,'*') => ABC**** : ID/PWD찾기
숫자 함수
| ROUND() :반올림
| TRUNC() : 버림
| CEIL() : 올림
날짜 함수
| SYSDATE : 현재 날짜, 시간 -> 등록일은 자동으로 처리
| MONTH_BETWEEN => 과거부터 현재까지의 총 개월수를 출력 -> 게시물 (3-6개울 ㅈ;움 )
변환 함수
| TO_CHAR
| -> 년도 : YYYY,RRRR, YY,RR
| -> 월 :MM(03) , M(3)
| -> 일 :DD
| -> 시간: HH24 , HH , MI (분), SS(초)
| -> 숫자표현 : 999,999
일반 함수
| NVL : NULL값 대체
| NVL2 : NULL 처리 , NOT NULL 처리
| NVL2(컬럼명,NULL이 아닌 경우 처리, NULL일 경우 처리 )
| =======
| NULL을 포함하고 있는 데이터 컬럼
| DECODE : 다중 조건문
| CASE : 다중 선택문
| REGEXP_LIKE : 정규식을 이용한 함수
| [ ],{ }
| [ ] => 한글자, 범위 지정이 가능 [A],[A-Z][a-z][0-9][가-힣]
| { } => 글자 개수 {3}= 세글자 {1,3}=한글자에서 세글자 사이
| . => _ (한글자)
| [^] => 재외 [^A-Z] =>알파벳 대문자 제외하고
| ^ => 시작 ^A=(대문자 A로 시작했다) ^[0-9]=(숫자로 시작한다)
| $ =>A$ [0-9]$
| | =>A|B => A OR B == A 나 B
| * => A* (뒤에 붙는 글자가 0개 이상)
| + => A+ (뒤에 붙는 글자가 1개 이상)
| 맛있+
= 다중행 함수 (집합 함수) =>통계 (합, 평균 , Rank ...)
4) 여러개의 테이블 연결후 결과값 얻기(JOIN)
5) SQL문장 여러개를 합쳐서 한개의 SQL문장으로 만드는 것 - 서브쿼리
=====================================================DDL(제약조건) => DML
6) VIEW , INDEX , SEQUENCE , FUNCTION , PROCEDURE , TRIGGER