MySQL 기본

Minjae An·2024년 2월 16일
0

Database

목록 보기
2/5

SHOW DATABASES

SHOW DATABASES;

USE

USE <database_name>;

SHOW TABLE, SHOW TABLE STATUS

SHOW TABLES;
SHOW TABLE STATUS; --테이블 정보 조회(행 수 등)

DESCIRBE(DESC)

DESC <table_name>; --테이블 스키마 조회

SELECT

SELECT * FROM city;
SELECT id, name FROM city; -- 특정 열 선택

WHERE

SELECT id FROM city WHERE population > 800; -- WHERE절 사용
SELECT * FROM city WHERE population < 800 AND population > 700; -- 관계연산자 사용

BETWEEN

SELECT * FROM city WHERE population BETWEEN 700 AND 800;

특정 범위로 데이터를 필터링하여 조회할 때 사용

IN

SELECT * FROM city WHERE name IN ('Seoul', 'Newyork');

정해진 임의 값들에 해당하는 경우의 데이터 조회시 사용

LIKE

SELECT * FROM city WHERE name LIKE 'Tel%';

문자열 내용 검색을 위해 사용, % 은 어떤 것이든 _ 는 한 글자 의미

SUB QUERY

SELECT *
FROM city
WHERE country_code = (
	SELECT country_code
	FROM city
	WHERE name = 'Seoul');

쿼리 내에 또 다른 쿼리를 사용

ANY(SOME)

SELECT *
FROM city
WHERE population > ANY (
	SELECT population
	FROM city
	WHERE district = 'New York');
  • 서브쿼리의 여러 결과중 한 가지만 만족해도 가능
  • SOMEANY 와 동일 의미
  • =ANY 구문은 IN 과 동일 의미

ALL

SELECT *
FROM city
WHERE population > ALL (
	SELECT population
	FROM city
	WHERE district = 'New York');

서브쿼리의 여러 결과를 모두 만족시켜야 함

ORDER BY

SELECT *
FROM city
ORDER BY population DESC;

SELECT *
FROM city
ORDER BY population DESC, name ASC; -- 혼용 가능
  • 결과를 정렬하는 구문
  • 기본 오름차순(ASC)

DISTINCT

SELECT DISTINCT coutry_code
FROM city;

중복 제거시 사용, 데이터 크기가 클수록 효율적

LIMIT

SELECT *
FROM city
ORDER BY population
LIMIT 10;
  • 출력 개수를 제한할 때 사용
  • 상위 N개만 출력하는 LIMIT N 형태로 사용
  • 처리량이 많아 서버 전반 성능을 저하하는 악성 쿼리 개선시 주로 사용

GROUP BY

SELECT country_code, MAX(population)
FROM city
GROUP BY country_code;
  • 그루핑 기능 수행
  • 집계 함수(MAX, MIN 등)과 함께 사용
  • 가독성을 위해 별칭 사용 가능

HAVING

SELECT country_code, MAX(population)
FROM city
GROUP BY country_code
HAVING MAX(population) > 8000000;

그루핑 결과를 대상으로 조건절을 적용하고 싶을 때 사용

ROLLUP

SELECT country_code, name, SUM(population)
FROM city
GROUP BY country_code, name WITH ROLLUP;
  • 총합 또는 중간합계가 필요할 경우 사용
  • GROUP BY 절과 함께 WITH ROLLUP 문 사용

JOIN

SELECT *
FROM city
JOIN country ON city.country_code = country.code;

여러 테이블을 통합하여 데이터를 조회할 때 사용, 조인 조건 필요

profile
도전을 성과로

0개의 댓글