[MySQL] #2 DML

yenn·2021년 2월 22일
0

MySQL

목록 보기
2/3
post-thumbnail

DML, Data Manipulation Language

DML의 종류

  • SELECT : 검색
  • INSERT : 등록
  • UPDATE : 수정
  • DELETE : 삭제

1. SELECT 구문 기본 문형

SELECT (DISTINCT) 칼럼명(AS) FROM TABLE이름;

  • SELECT : 검색하고자 하는 데이터(칼럼)를 나열, 중복 검색은 ' , ' 로 구분해서 나열
  • DISTINCT : 중복행을 제거
  • AS : 나타날 칼럼에 대한 다른 이름 부여 → 칼럼 HEADING을 변경
  • FROM : 선택한 칼럼이 있는 테이블을 명시

    SELECT * from TABLE이름; : TABLE 이름에 해당 하는 전체 데이터 조희

✔ SELECT 구문 '컬럼의 합성'

문자열 합성 함수 CONCAT 사용
SELECT concat(칼람명, ' ', 칼람명) as (HEANDING) from TABLE이름

⁕ HEADING에 공백이 포함될 경우에 ' ' 로 감싸줘야함

✔ SELECT 구문 '중복행의 제거'

중복되는 행이 출력되는경우, DISTINCT 키워드로 중복행 제거
SELECT DISTINCT 칼럼명 from TABLE이름;

✔ SELECT 구문 'ORDER BY'

행을 정렬하고 싶을때 Order by 사용
SELECT 칼럼명, 칼람명 from TABLE이름 order by 칼람명;
SELECT 칼럼명, 칼람명 from TABLE이름 order by 칼람명 desc;


⁕ 기본은 오름차순 → desc 사용으로 내림차순

✔ SELECT 구문 ' Where'

특정 행 검색 Where 사용
SELECT (DISTINCT) 칼람명 (AS) FROM TABLE이름 WHERE "조건식"


논리 연산자

  • in 키워드

    : in을 이용하여 논리 연산을 나열

  • LIKE 키워드
    : 와일드 문자를 사용하여 특정 문자열에 포함한 값의 조건을 처리

  • % : 0에서 부터 여러개의 문자열을 나타냄

    ⁕ A가 문자열에 하나라도 포함되는 값을 조회

  • : 단 하나의 문자를 나타내는 와일드 문자, 특정 위치에서부터 조회

    개수에 따라 N번째에 문자와 동일한 값을 조회

SELECT 구문 '함수의 사용'

  • UCASE / UPPER : 대문자로 변경
  • LCASE / LOWER : 소문자로 변경
  • SUBSTRING : 문자를 끊어 내기
  • LPAD, RPAD : (왼쪽/오른쪽)지정한 문자로 n개 만큼 채워주기, 만약 안된다면 다른 문자로 채워줌
  • TRIM, LTRIM, RTRIM : 공백 제거
  • ABS : 절대값
  • FLOOR(x) : x보다 크지 않은 가장 큰 정수를 반환, BIGINT
  • CEILING(x) : x보다 작지 않은 가장 작은 정수를 반환
  • ROUND(x) : x에 가장 근접한 정수를 반환
  • POW(x,y) POWER(x,y) : x의 y 제곱 승을 반환
  • GREATEST(x,y,...) : 가장 큰 값을 반환
  • LEAST(x,y,...) : 가장 작은 값을 반환
  • CURDATE(),CURRENT_DATE : 오늘 날짜를 YYYY-MM-DD나 YYYYMMDD 형식으로 반환
  • CURTIME(), CURRENT_TIME : 현재 시각을 HH:MM:SS나 HHMMSS 형식으로 반환
  • NOW(), SYSDATE() , CURRENT_TIMESTAMP : 오늘 현시각을 YYYY-MM-DD HH:MM:SS나 YYYYMMDDHHMMSS 형식으로 반환
  • DATE_FORMAT(date,format) : 입력된 date를 format 형식으로 반환
  • PERIOD_DIFF(p1,p2) : YYMM이나 YYYYMM으로 표기되는 p1과 p2의 차이 개월을 반환

⁕ from 다음 테이블이 없을 경우에는 테이블에서 조회하는 것이 아님

✔ SELECT 구문 'CAST 형변환'

CAST 함수는 type을 변경(지정) 할 수 있음

  • CAST (expression AS type)
  • CONVERT (expression , type)

MYSQL 타입
: BINARY, CHAR, DATE, DATETIME, SIGNED {INT}, TIME, UNSIGNED {INT}

✔ SELECT 구문 '그룹함수'

: 여러개 컬럼을 이용해서 하나의 값을 출력해줌

  • COUNT(expr) : non-NULL인 row의 숫자 반환
  • COUNT(DISTINCT expr, [expr ... ]) : non-NULL인 중복되지 않은 row의 숫자를 반환
  • COUNT(*) : row의 숫자를 반환
  • AVG(expr) : expr의 평균을 반환
  • MIN(expr), MAX(expr) : expr 최소/ 최대값을 반환
  • SUM(expr) : expr의 합계를 반환
  • GROUP_CONCAT(expr) : 그룹에서 연결된 한 문자를 반환
  • VARIANCE(expr) : expr의 분산를 반환
  • STDDEV(expr) : expr의 표준 편차를 반환

✔ SELECT 구문 'group by'

그룹 별로 조회하고 싶을 때 group by 사용하여 조회
SELECT 칼람명, 함수(칼람) FROM TABLE이름 group by 칼람명;

2. INSERT 구문 기본 문형

INSERT INTO TABLE이름 (필드1, 필드2 ,,,) VALUES (필드1 값, 필드2 값 ,,,)

  • 필드명 지정 방식은 디폴트 값이 세팅되는 필드는 생략할 수 있음
  • 필드명 지정 방식은 추 후, 필드 추가/변경/수정할 때 변경 가능
  • 필드명 생략했을 경우, 모든 필드 값을 반드시 입력
  • not-null 이나 PK 값은 반드시 지정해줘야함

3. UPDATE 구문 기본 문형

UPDATE TABLE이름 SET 필드1=필드1값, 필드2=필드2값 ,,, WHERE 조건식

⁕ WHERE 절 사용하지 않을 경우, 전체 row 가 영향을 받음

4. DELETE 구문 기본 문형

DELETE FROM TABLE이름 WHERE 조건;

⁕ WHERE 절 사용하지 않을 경우, 전체 row가 삭제 될 수 있음

profile
Junior BackendEngineer 😎

0개의 댓글