MySQL 주요 문법

SHOW DATABASESE

  • 현재 서버에 어떤 DB가 있는지 보기

USE

  • 사용할 데이터베이스 지정
  • 지정해 놓은 후 특별히 다시 USE문 사용하거나 다른 DB를 사용하겠다고 명시하지 않는 이상

    모든 SQL문은 지정 DB에서 수행

  • Workbench에서 직접 선택해 사용 가능
    • [Navigator] → [SCHEMAS] → 데이터베이스 선택

SHOW TABLES

  • 데이터베이스 테이블들의 이름 보기

SHOW TABLE STATUS

  • 데이터베이스 테이블의 정보 조회

DESCRIBE(DESC)

  • 특정 테이블에 무슨 열이 있는지 확인
    • DESCRIBE city;
    • DESC

SELECT

  • 요구하는 데이터를 가져오는 구문
  • 일반적으로 가장 많이 사용되는 구문
  • 데이터베이스 내 테이블에서 원하는 정보를 추출
  • SELECT의 구문 형식

  • SELECT 열 이름

    • 테이블에서 필요로 하는 열만 가져오기 가능
    • 여러 개의 열을 가져오고 싶을 때는 콤마로 구분
    • 열 이름의 순서는 출력하고 싶은 순서대로 배열 가능
  • SELECT FROM WHERE
  • 기본적인 WHERE절

    • 조회하는 결과에 특정한 조건으로 원하는 데이터만 보고 싶을 때 사용
    • SELECT 필드이름 FROM 테이블 이름 WHERE 조건식;
    • 조건이 없을 경우 테이블의 크기가 클수록 찾는 시간과 노력이 증가
  • 관계 연산자의 사용
  • MySQL 함수 및 연산자

BETWEEN

  • 데이터가 숫자로 구성되어 있어 연속적인 값은 BETWEEN… AND 사용 가능

IN

  • 이산적인 값의 조건에서 사용 가능

LIKE

  • 문자열의 내용 검색하기 위해 LIKE 연산자 사용
  • 문자 뒤에 % -무엇이든(%) 허용
  • 한 글자와 매치하기 위해서는 ‘_’사용

Sub Query

  • 서브 쿼리
  • 쿼리문 안에 또 쿼리문이 들어 있는 것
  • 서브 쿼리의 결과과 둘 이상이 되면 에러 발생

city 테이블의 칼럼 CountryCode를 모를 때 사용 예시.

위의 전체 구문에 소괄호 안 구문의 반환값이 매칭 되어 CountryCode에 해당하는 모든 레코드를 반환한다.

ANY

  • 서브 쿼리의 여러 개의 결과 중 한 가지만 만족해도 가능
  • SOME은 ANY와 동일한 의미로 사용
  • = ANY 구문은 IN과 동일한 의미

ORDER BY

  • 결과가 출력되는 순서를 조절하는 구문
  • 디폴트는 오름차순 정렬 , 생략가능
  • 내림차순 정렬은 열 이름 뒤에 DESC
  • 혼합 가능

DISTINCT

  • 중복된 것은 1개씩만 보여주면서 출력
  • 테이블의 크기가 클수록 효율적

LIMIT

  • 출력 개수를 제한
  • 상위의 N개만 출력하는 ‘LIMIT N’ 구문
  • 서버의 처리량을 많이 사용해 서버의 전반적인 성능을 나쁘게 하는 악성 쿼리문 개선할 때 사용

GROUP BY

  • 그룹으로 묶어 주는 역할
  • 집계 함수를 함께 사용
    • AVG( ):평균
    • MIN( ):최소값
    • MAX
    • COUNT :행의 개수
    • COUNT(DISTINCT): 중복 제외된 행의 개수
    • STDEV : 표준 편차
    • VARIANCE : 분산
  • 효율적인 데이터 그룹화
  • 읽기 좋게 하기 위해 별칭 Alias 사용

HAVING

  • WHERE과 비슷한 개념으로 조건 제한
  • 집계 함수에 대해서 조건 제한하는 편리한 개념
  • HAVING절은 반드시 GROUP BY절 다음에 나와야 함

© 2021. All rights reserved.

----------Powered by Hydejack----------

woobaeh