[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/데이터베이스

Mysql - 기초명령어 정리

inu 2021. 1. 20. 16:11
반응형

DB 관련

DB 생성

CREATE DATABASE `DB이름` CHARACTER SET utf8 COLLATE utf8_general_ci
  • CHARACTER SET utf8 COLLATE utf8_general_ci는 한글인코딩 설정

DB 삭제

DROP DATABASE `DB이름`

DB 확인

SHOW DATABASES

선택

USE `DB이름`

테이블 관련

테이블 생성

CREATE TABLE table_name (
    column_name1 data_type,
    column_name2 data_type
) [ENGINE=engine_name] [DEFAULT CHARSET=utf8]
  • InnoDB, Cluster (NDB), myisam 등의 엔진존재

테이블 확인

SHOW tables;

스키마 확인

DESC `테이블명`

테이블 제거

DROP TABLE `테이블명`

삽입

INSERT INTO table_name VALUES (value1, value2, value3,...)
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)

변경

UPDATE table_name SET column_name1=value1, column_name2=value2 WHERE column_name=value
  • cf. WHERE로 특정 raw를 지정해주지 않으면 모든 값이 변경됨.

삭제

DELETE FROM table_name [WHERE column_name=value]
  • 테이블의 특정 raw 삭제
TRUNCATE table_name
  • 테이블 전체 데이터 삭제
DROP TABLE table_name
  • 테이블 자체 삭제

조회

SELECT column_name1, column_name2
    [FROM table_name] 
    [WHERE column_name=value]
    [GROUP BY column_name] 
    [ORDER BY column_name [ASC | DESC]] 
    [LIMIT offset, number]
  • *로 전체조회가능
  • GROUP BY : 특정 데이터를 기준으로 분류. sum(),avg()
  • ORDER BY : 오름차순 내림차순, 여primary key러개 지정가능(먼저 적은 것이 우선기준)
  • cf. id와 같은 값은 primary key로 테이블 전체에 통틀어 중복되지 않는 값을 지정해야한다. where문을 이용해 접근시 가장 접근속도가 빠르다.

Join

  • 테이블간의 관계성에 따라서 복수의 테이블을 결합, 하나의 테이블인 것처럼 결과를 출력
  • OUTTER JOIN : 매칭되는 행이 없어도 결과를 가져오고 매칭되는 행이 없는 경우 NULL로 표시한다. LEFT JOIN과 RIGHT JOIN이 있다.
  • INNER JOIN : 조인하는 두개의 테이블 모두에 데이터가 존재하는 행에 대해서만 결과를 가져온다.
SELECT s.name, s.location_id, l.name AS address, l.distance  FROM student AS s LEFT JOIN location AS l ON s.location_id = l.id;
  • student table을 s로, location table을 l로 가져온다. 이 둘을 LEFT JOIN하고 이 중 s의 name, s의 location_id, l의 name, l의 distance를 가져온다. 그런데 이중 l.name은 address라는 이름으로 가져온다. LEFT JOIN의 대상 기준은 s의location_id와 l의id가 같을 경우이다.
  • JOIN의 경우 직접해보면서 감을 익히는 것이 좋다.
반응형

'💻 CS > 데이터베이스' 카테고리의 다른 글

개체와 속성  (0) 2021.05.04
데이터베이스 모델링 개념  (0) 2021.05.02
SQLite - 기본함수  (0) 2020.07.08
SQLite - DB 생성과 변경  (0) 2020.07.08
SQLite - 기초문법  (0) 2020.07.07