목차
오라클의 기본 함수 (문자, 수자, 날자)
to_char() : 날자 또는 숫자를 문자 format으로 변경.
to_number : 문자를 숫자로 변경.
to_date : 문자를 날자로 변경.
months_between : 두 날자 간의 기간을 월로 계산
add_months : 기준 날자에 개월수를 추가한 날자를 계산해 준다.
next_day : 돌아오는 다음 요일. (일1 월2 화3 수4 목5 금6 토7)
last_day : 기준이 되는 달의 마지막 날짜
round : 날짜 반올림
trunc : 날짜 자르기
nvl( column, 대체값 )
- column이 null이면 대체값 적용.
- column이 null이 아니면, column의 원래 값이 나옴.
nvl2( column, 대체값1, 대체값2 )
- column이 null이면 대체값2 적용.
- column이 null이 아니면, 대체값1 적용.
주의 : 대체값은 column의 data type과 같아야 한다.
nvl과 nvl2는 if ~ else 문과 비슷함.
decode : if ~ else if ~ else if ~ else 문.
case ~ when ~ then ~ else : switch ~ case ~ : ~ default 문
group by : 그룹을 만들어서, 그룹 안에서 계산한다.
- group by 뒤에 오는 속성을 기준으로 그룹을 만든다.
- group by 뒤에 오는 속성은 ,(comma)를 사용하여 여러 개가 올 수 있다.
- group by는 group 함수와 함께 사용
- group 함수 : max, min, sum, avg, count
- group by 위치는 order by 앞.
- group by의 select절에는 group 함수와 group by 뒤에 오는 속성만 온다.
- group by된 조회 결과를 정렬하기 때문에 order by가 group by 뒤에 온다.
having
- where처럼 조건을 제한하는 역활
- group by된 조회 결과에 대해서, where처럼 조건을 제한하는 역활
- having + 기준속성 + 조건연산자 + 기준데이터
- having 뒤에 오는 기준속성은 그룹함수와 group by의 기준 속성만 온다.
- group by에 조건절을 만드는 명령어
- select문에서 where의 역활과 비슷
- group by의 결과에 대해서 where처럼 출력 결과에 조건을 건다.
- having + 조건기준속성 + 비교연산자 + 조건비교값
- 조건기준속성 : group 함수와 group by의 기준 속성만 온다.
- group by의 select 절에는 group 함수와 group by의 기준 속성만 온다.
- and, or를 통해 조건을 확장할 수 있다.
desc [테이블 이름];
alter table : 테이블 수정.
- add : 속성 추가.
- modify : 속성 수정.
- rename column [변경 전 속성 이름] to [변경 후 속성 이름] : 속성 이름 변경.
- drop column : 속성 삭제.
truncate table : 테이블의 내용을 모두 삭제.
drop table : 테이블의 내용은 물론 테의블의 구조까지 존재 자체를 삭제.
update : 테이블 내의 데이터를 수정하는 명령어.
- set, where와 함께 사용
- where절 없는 update는 테이블 전체에 적용하지 않도록 주의
- update [테이블 이름] set [수정하려는 속성 이름] = [수정하려는 값]
- set (속성 이름 = 수정 값), (속성 이름 = 수정 값), (속성 이름 = 수정 값)...
- 반드시 where절 사용해서 수정하려는 데이터를 정확히 지정할 것
- 수정 전에 select문으로 where절을 검증 절차 필요
delete : 테이블 내의 데이터를 삭제하는 명령어.
- from, where과 함께 사용.
- 예) delete from freeboard; -- 전체 삭제
- 반드시 where절 사용해서 삭제하려는 데이터를 정확히 지정할 것
- 삭제 전에 select문으로 where절을 검증 절차 필요
truncate table : 테이블의 내용을 모두 삭제 : rollback 안됨
constraints
- 테이블에 오류 data가 입력되는 것을 막기 위한 최소한의 규칙을 의미함.
- primary key : not null + unique
- foriegn key : 다른 테이블을 연결/참조/참고 하는 속성.
- not null : 데이터를 반드시 입력해야 한다.
- unique : 다른 행의 데이터와 중복되지 않는다.
- check :연산을 통해 입력되는 데이터를 검사할 때 사용.
primary key : 각 각의 행을 구분지어주는 역활을 하는 것.
- not null + unique
- index 기본 생성(장점)
- 예) 쇼핑몰의 주문번호 또는 결제번호 : 20220513161920024456
- sequence 사용을 하면 좀 쉽게 primary key 생성 가능.
user_constraints
- 시스템 테이블
- 현재 사용자가 사용하는 테이블의 제약 조건 내용들에 대한 목록.
user_cons_columns
- 시스템 테이블
- 현재 사용자가 사용하는 테이블의 제약 조건들에 대한 목록.