(2023.2.20) Today_I_Learned_day-126

imRound·2023년 2월 20일
0
post-thumbnail

SHOW DATABASES

  • 현재 서버에 어떤 DB가 있는지 보기
  • USER database_name
    • 사용할 데이터베이스 지정
    • 지정해 놓은 뒤 특별히 다시 USE문을 사용하거나 다른 DB를 사용하겠다고
      명시하지 않는 이상 모든 SQL문은 지정 DB에서 수행
    • Workbench에서 직접 선택해 사용 O (Navigator ⇒ SCHEMAS ⇒ 데이터베이스 선택)
  • SHOW TABLE
    • 데이터베이스 database_name의 테이블 이름 보기
  • SHOW TABLE STATUS
    • 데이터베이스 database_name의 테이블 정보 조회
  • DESCRIBE(DESC)
    • 테이블에 무슨 열이 있는지 확인
      • DESCRIBE database_name;
      • DESC database_name;
  • SELECT
    • <SELECT…FROM>
    • SELECT * (SELECT & FROM database_name)
    • 전체 데이터들을 볼 수 있음
    • SELECT 열 이름
      • 테이블에서 필요로 하는 열만 가져오기 가능
      • 여러 개의 열을 가져오고 싶을 때는 콤마로 구분
      • 열 이름의 순서는 출력하고 싶은 순새대로 배열 가능
    • SELECT FROM WHERE
      • 기본적인 WHERE절
        • 조회하는 결과에 특정한 조건으로 원하는 데이터만 보고 싶을 때 사용
        • SELECT 필드 이름 FROM 테이블 이름 WHERE 조건식;
        • 조건이 없을 경우 테이블의 크기가 클수록 찾는 시간과 노력이 증가
      • 관계 연산자의 사용
        • OR
        • AND
        • 조건
        • 관계(NOT, AND, OR)
        • 연산자의 조합으로 데이터를 효율적으로 추출
        • IN
          • 이산적인(Discrete)값의 조건에서는 IN() 사용 가능
            • WHERE Name IN(’Seoul’,’Tokyo’,’New York)
        • LIKE
          • 문자열의 내용 검색하기 위해 사용
          • 문자 뒤에 %- 무엇이든(%) 허용 ‘Tel %’ ⇒ Tel Aviv…
          • 한 글자와 매치하기 위해서는 ‘’ 사용 ‘KO’ ⇒ KOR….
        • Sub QUERY(서브 쿼리)
          • 쿼리문 내 또 쿼리문이 들어 있는 것
          • 서브 쿼리의 결과가 둘 이상이 되면 에러 발생
        • ANY
          • 서브쿼리의 여러 개의 결과 중 한 가지만 만족해도 가능
          • SOME은 ANY와 동일한 의미로 사용
          • =ANY 구문은 IN과 동일한 의미
        • ALL
          • 서브쿼리의 여러 개의 결과를 모두 만족시켜야
        • ORDER BY
          • 결과가 출력되는 순서를 조절하는 구문
          • 기본적으로 오름차순 정렬
          • 내림차순으로 정렬
            • 열 이름 뒤에 DESC 적어줄 것
          • ASC(오름차순)는 default이므로 생략 가능
          • ORDER BY 구문을 혼합해서 사용하는 구문도 가능
        • LIMIT
          • 출력 개수를 제한
          • 상위의 N개만 출력하는 ‘LIMIT N’ 구문
          • 서버의 처리량을 많이 사용해 서버의 전반적인 성능을 나쁘게 하는
            악성 쿼리문 개선 시 사용
        • GROUP BY
          • 그룹으로 묶어주는 역할
          • 집계 함수(Aggregate Function)를 함께 사용
          • AVG(): 평균
          • MIN(): 최소값
          • MAX(): 최대값
          • COUNT(): 행의 개수
          • COUNT(DISTINCT): 중복 제외된 행의 개수
          • STDEV(): 표준 편차
          • VARIANCE(): 분산
          • 효율적인 데이터 그룹화
          • 읽기 좋게 하기 위해 별칭 사용 (AS)
            • SELECT name, MAX(…) AS ‘별칭’
        • HAVING
          • WHERE과 비슷한 개념으로 조건 제한
          • 집계 함수에 대해서 조건 제한하는 편리한 개념
          • HAVING절은 반드시 GROUB BY절 다음에 나와야한다.
        • ROLLUP
          • 총함 또는 중간합계가 필요할 경우 사용
          • GROUP BY절과 함께 WITH ROLLUP문 사용
        • JOIN
          • JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여
            하나의 테이블이나 결과 집합으로 표현
profile
Django 개발자

0개의 댓글