W2D3- 실리콘밸리에서 날아온 데이터베이스 🎁

Sangwon Na·2021년 8월 11일
0

MySQL 실습

MySQL Workbench 사용 (실습환경)

MySQL Workbench 다운로드

  • +버튼으로 DB연결하여 리스트를 저장할 수 있습니다.

  • MySQL 벤치는 쿼리 질의 시 기본적으로 1000개만 조회, 변경하려면 Limit to 값 변경

오른쪽 창분할 아이콘 클릭하여 넓게 사용 가능


SQL문법 입력시 자동완성나오는게 대문자로 제시하게끔 설정


SELECT문 살펴보기

  • 테이블에서 레코드을 읽어오는데 사용
SELECT 필드이름1, 필드이름2, ...
FROM 테이블이름
WHERE 선택조건
GROUP BY 필드이름1, 필드이름2, ...
ORDER BY 필드이름 [ASC|DESC] -- 필드 이름 대신 숫자 사용가능
LIMIT N;
select count(0) from TABLE;
select count(1) from TABLE;
select count(NULL) from TABLE;
select count(value) from TABLE;
select count(DISTINCT value) from TABLE;

WHERE 살펴보기

  • WHERE를 사용해 조건을 만족하는 레코드 조회
  • IN
    • WHERE 필드명 in (3,4)
      • WHERE 필드명= 3 OR 필드명 = 4
    • NOT IN
  • LIKE
    • LIKE: 대소문자 구별 없이 문자열 매칭 기능 제공
    • WHERE 필드명 LIKE 'G%' -> 'G*'
    • WHERE 필드명 LIKE '%G%' -> '*G*'
    • NOT LIKE
  • BETWEEN
    • 날짜 범위에 사용 가능

STRING Functions

  • LEFT(STR, n)
  • REPLACE(str, exp1, exp2)
  • UPPER(str)
  • LOWER(str)
  • LENGTH(str)
  • LPAD, RPAD
    • 왼쪽이나 오른쪽 길이가 짧으면 패딩해주는 기능, RPAD(field, 15, '-')를 하면 15글자로 맞추는데 추가시 - 로 채움
  • SUBSTRING
    • LEFT()는 왼쪽에서부터 찾아서 바꾸는데, SUBSTRING은 중간, 왼쪽, 오른쪽 등 직접 인덱스 지정하여 가능
  • CONCAT

ORDER BY

  • 디폴트 순서는 오름차순(작은값부터 올라가는 순서)
  • 내림차순(Descending)을 원하면 "DESC"
    • ORDER BY 1 DESC
  • 여러 개의 필드를 사용해서 정렬하려면
    • ORDER BY 1(첫번째 필드) DESC, 2(2번째 필드), 3(3번째 필드)
    • 첫번째 필드 정렬 후 2번째 ~ 3번째로 정렬 후 조회
  • NULL값은 정렬하면 순서는?
    • 오름차순일땐 처음에
    • 내림차순일땐 마지막에, 즉 가장 작은 정렬 순서를 가짐.

타입 변환

  • DATE Conversion
    • NOW
    • 타임존 관련 변환
      • CONVERT_TZ(now(), 'GMT', 'Asia/Seoul')
    • DATE, WEEK, MONTH,YEAR, HOUR, MINUTE, SECOND, QUARTER(구분기호 다음에 나오는 값), MONTHNAME
    • DATEDIFF(날짜 차이 일 수)
    • DATE_ADD(날짜에 며칠을 더하면 며칠 나오는지)
    • ...
  • STR_TO_DATE <--> DATE_FORMAT
    • SELECT STR_TO_DATE('01,5,2013', "%d, %m, %'Y'); -- 2013-05-01
  • cast 함수(cast와 convert는 as빠지고 , 콤마가 들어가는 차이)
    • cast(category as float) 값이나 필드
    • convert(expression, float)
    • SELECT cast('100.0' as float)
    • SELECT convert('100.0', float)

GROUP BY 살펴보기

  • 테이블의 레코드를 그룹핑하여 그룹별로 다양한 정보 계산
  • 그룹핑 할 필드 결정(하나 이상)
  • 그룹별로 계산할 내용을 결정
    • COUNT, SUM, AVG, MIN, MAX. GROUP_CONCAT...
profile
나상원의 LOG

0개의 댓글