DAY 21 ~ 22

KSH·2022년 5월 15일

목차

오라클의 기본 함수 (문자, 수자, 날자)
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
  • 시스템 테이블
  • 현재 사용자가 사용하는 테이블의 제약 조건들에 대한 목록.

0개의 댓글