[2022.10.08] DML, DDL

ITmakesmeSoft·2022년 10월 8일
0
post-thumbnail

CAST 형변환 (SELECT 구문)

(ver 4.2부터 가능)
CAST함수는 데이터의 타입을 변경하는데 유용

  • CAST (expression AS type)
  • CONVERT (expression, type)
  • CONVERT (expr USING transcoding_name)

MySQL 타입

  • BINARY : binary string
  • CHAR : string
  • DATE : 'YYYY-MM-DD'
  • TIME : 'HH:MM:SS'
  • DATETIME : 'YYYY-MM-DD HH:MM:SS'
  • SIGNED {INTEGER} : integer(64bit) 부호 사용가능
  • UNSIGNED {INTEGER} : integer(64bit) 부호 사용불가

그룹함수 (SELECT 구문)

COUNT(expr) : non-NULL인 row의 갯수를 반환
COUNT(DISTINCT expr,[expr...]) : non-NULL이면서 중복되지 않은 row 갯수 반환
COUNT(*) : NULL을 포함한 모든 row의 개수를 반환
AVG(expr) : expr의 평균값을 반환
MIN(expr) : expr의 최소값을 반환
MAX(expr) : expr의 최대값을 반환
SUM(expr) : expr의 합계를 반환
GROUP_CONCAT(expr) : 그룹에서 concatenated한 문자를 반환(여러 문자를 하나의 문자열로 연결)
VARIANCE(expr) : 분산
STDDEV(expr) : expr의 표준 편차를 반환

  • STDDEV는 Standard Deviation(표준 편차)의 약자

MySQL 서버 버전 확인 방법

  • SQL 서버에 접속한 뒤 커맨드 창에
    SELECT VERSION(); 입력

MySQL 클라이언트 버전 확인 방법

  • Shell창에 mysql -v 또는 mysql -version 입력

INSERT

  • 필드명을 명시해서 그에 맞는 값을 순서대로 추가하는 방식
    INSERT INTO 테이블명(field1, field2, ...) VALUES (field1 val, field2 val, ...);
  • 필드명 입력을 생략하고, 모든 필드의 값을 추가하는 방식
    INSERT INTO 테이블명 VALUES(field1 val, field2 val, ...);
    • 모든 필드 값을 입력하지 않는 경우 오류
      • Column count doesn't match value count

UPDATE

UPDATE 테이블명 SET 필드명=필드값 WHERE...

  • WHERE 조건절을 통해 특정 row의 데이터를 수정할 수 있음
  • WHERE 절을 추가하지 않는 경우 모든 데이터가 수정될 수 있으니 주의

DELETE

DELETE FROM 테이블명 WHERE...

  • WHERE 조건절을 통해 특정 row를 삭제할 수 있음
  • 마찬가지로 WHERE 조건절을 주지 않는 경우 모든 데이터가 삭제되므로 주의

JOIN

두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로, 두 개의 테이블을 마치 하나의 테이블인 것 처럼 보여줌

  • (INNER) JOIN : 두 테이블에 값이 매칭되는 값의 컬럼(row)을 반환. 기준 테이블과 조인할 테이블 모두에 조인 컬럼 데이터가 존재할 경우에만 반환함
  • LEFT (OUTER) JOIN : 모든 왼쪽 테이블이 반환되며, 왼쪽 테이블과 매칭되는 값의 오른쪽 테이블의 컬럼(row) 데이터를 반환. 왼쪽 테이블을 기준으로 일치하는 컬럼만 결합되고, 일치하지 않는 부분은 NULL 값으로 채워짐.
  • RIGHT (OUTER) JOIN : 모든 오른쪽 테이블이 반환되며, 오른쪽 테이블과 매칭되는 값의 왼쪽 테이블의 컬럼(row) 데이터를 반환. 오른쪽 테이블을 기준으로 일치하는 컬럼만 결합되고, 일치하지 않는 부분은 NULL 값으로 채워짐.
  • FULL (OUTER) JOIN : 두 테이블에 값이 매칭되는 경우는 물론, 양쪽 테이블을 기준으로 일치하는 컬럼만 결합되고, 일치하지 않는 부분은 모두 NULL 값으로 채워짐.

  • CROSS JOIN

참고
https://the-underwater.tistory.com/23

profile
💎 Daniel LEE | SSAFY 8th

0개의 댓글