Dev Hyeri

기술스택/SQL

MySQL 기본 완전 정리

_hyeri 2023. 10. 5. 23:12

릴레이션 == 테이블

릴레이션 스키마 : 컬럼 이름들의 집합

릴레이션 인스턴스 : 컬럼 외 값 부분 전체

컬럼 == 속성 == 필드 

도메인 : 컬럼이 가지는 값들의 집합

로우 == 레코드 == 튜플 : 컬럼 값들의 집합, 테이블 내에서 유일

 

 

 

 

  DDL  

  CREATE  

CREATE DATABASE 데이터베이스명;

USE 데이터베이스명;

 

CREATE TABLE 테이블명(

 

);

DESC 테이블명;

* 테이블 정보 

 

CREATE INDEX 인텍스명 ON 테이블명(컬럼);

 

 

 

  DROP  

DROP DATABASE IF EXISTS 데이터베이스명; 

* 쿼리 실행시 데이터베이스가 존재하지 않으면 생기는 오류  

 

 

  ALTER  

테이블 이름 변경 : ALTER TABLE 기존이름 RENAME 바꿀이름;

컬럼 추가 : ALTER TABLE 테이블명 ADD COLUMN 컬럼명 타입;

컬럼 삭제 : ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

인덱스 삭제 : ALTER TABLE 테이블명 DROP INDEX 인덱스명

테이블 컬럼 변경 : ALTER TABLE 테이블명 CHANGE  컬럼명 타입;

* 다 써줘야 함

테이블 컬럼 변경 : ALTER TABLE 테이블명 MODIFY  컬럼명 타입;

*

 

 

  DML  

  데이터  추가 :   

INSERT INTO 테이블명 VALUES(데이터, 데이터, 데이터);

* 있는 컬럼 빠짐없이 데이터 써줘야 한다 

INSERT INTO 테이블명 (컬럼명, 컬럼명) VALUES(데이터, 데이터);

 * 적어준 컬럼명 자리에 맞춰 데이터를 써준다. 

  데이터 수정 :   

UPDATE 테이블명 SET 컬럼 = 데이터;

  데이터 삭제 :   

DELETE FROM 테이블명

 

 

 

 

LIKE

WHERE 컬럼명 LIKE '%'  --서로 시작하는 데이터 필터링

WHERE 컬럼명 LIKE '%'   -- 도로 끝나는 데이터 필터링

WHERE 컬럼명 LIKE '_'    -- 서로 시작하고 다음에 한 글자만 오는 데이터 필터링

 

DISTINCT

SELECT COUNT(DISTINCT 컬럼

FROM 테이블명; 

* COUNT 안에 DISTINCT 사용

 

 

 

 

SQL 쿼리 작성 순서와 실제 실행 순서 


쿼리 작성 순서 실행 순서

SELECT

5

FROM 

1

WHERE

2

GROUP BY

HAVING

4

ORDER BY

6

LIMIT

 

 

ORDER BY  내림차순 DESC , 오름차순  ASC 

 

 

집합연산자


   
UNION 합집합. 중복된 행은 한 행만 출력
UNION ALL 합집합. 중복된 행도 전부 펼쳐서 출력
INTERSECT 교집합. 중복된 행은 한 행만 출력
EXCEPT 차집합.

'기술스택 > SQL' 카테고리의 다른 글

MySQL VIEW / CTE WITH / CASE WHEN THEN  (0) 2023.10.11
MySQL 연산자 우선순위, IN vs EXISTS  (0) 2023.10.11
MySQL 함수  (0) 2023.10.11
MySQL INDEX 정리  (0) 2023.10.08
SQL, JDBC, DBMS, DB란?  (0) 2023.09.04