국비지원교육 Day19

두윤기·2023년 1월 25일
0

복습

  • 지난 시간 INSERT INTO 까지
  • 1program - 1user

DB를 배우는 목적

  • Java에서 DBMS에 CRUD(JDBC, Java DataBase Connectivity)
    준비물: table, 사용자, sequence(,뷰, index)

Read(SELECT, 조회)

  • data를 원하는 목적에 맞게 탐색(filtering)
  • 없는 항목 조회 시 ERROR!
    SELECT POINT FROM PRODUCT;
  • 조건, group, sort

> 일반 조회

전체 데이터 조회

SELECT * FROM TABLE_NAME;

특정 항목 조회

SELECT ITEM FROM TABLE_NAME
SELECT NAME, MADE, EXPIRE, EXPIRE - MADE FROM PRODUCT;

Alias(별칭)

SELECT NAME, MADE, EXPIRE, EXPIRE - MADE 유통기한 FROM PRODUCT;
SELECT NAME, MADE, EXPIRE, EXPIRE - MADE AS 유통기한 FROM PRODUCT;

> WHERE(Filter, 조건 조회)

AND, OR

  • 다중 조건
  • WHERE TYPE = '과자' AND PRICE > 2000

NOT

  • 조건 앞에 명시
  • -- NOT 조건 || NOT IN () || NOT LIKE

()

  • 조건 결합
  • WHERE TYPE = '과자' OR (PRICE >= 1000 AND PRICE < 2000)

BETWEEN

  • TARGET BETWEEN A AND B

문자 조건

  • 일치 검색
    • =, <>, !=
    • IN
  • 유사 검색
    • LIKE
      • Wildcard(%, _) 사용
      • WHERE NAME LIKE '스크류%';
    • REGEXP_LIKE(TARGET, 'REGEX');
    • INSTR(TARGET, 'WORD')
      TARGET에 WORD가 있다면 INDEX 반환(1~, 없으면 0)

+ 조건에 따른 속도

  • 시작단어 filtering: WHERE TARGET LIKE 'WORD%' is better
  • 특정단어 포함 filtering: WHERE INSTR(TARGET, 'WORD') > 0 is better

> 날짜 조회

  • 기본 형식 YYYY-MM-DD HH24:MI:SS
  • 날짜끼리 산술, 비교연산 가능
    • 기본단위는 DAY

EXTRACT(TARGET FROM ATTRIBUTE)

  • EXTRACT(YEAR FROM MADE)
  • YEAR, MONTH, DAY, HOUR, MINUTE, SECOND

TO_CHAR(ATTRIBUTE, 'FORMAT')

  • DATE를 원하는 서식의 문자열로 casting
  • TO_CHAR(MADE, 'YYYY-MM-DD HH24:MI:SS')

TO_DATE('DATE_STRING', 'FORMAT')

  • 문자열을 DATE로 casting
  • TO_DATE('2023-01-26', 'YYYY-MM-DD')
  • 시간을 지정해주지 않으면 0시 0분 0초로 초기화

SYSDATE

  • 현재 시각의 DATE Object
    • SYSDATE - 365, SYSDATE - 5/24/60

> 정렬


UPDATE(수정)

DELETE(삭제)

JDBC

  • JDBC: 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
profile
programmerD

0개의 댓글