SQL 구문의 종류
DDL (Data Definition Language)
: 데이터를 정의하는 언어, 데이터를 저장할 수 있도록 구조를 만들어주는 언어
CREATE : 데이터베이스, 인덱스, 테이블 등 공간을 생성하기 위한 명령어
CREATE DATABASE `heebumDB`;
CREATE TABLE 'heebumtb'
( ...
)
DROP : 데이터베이스, 테이블 등 공간을 삭제하기 위한 명령어
DROP DATABASE 'heebumDB';
DROP TABLE 'heebumtb';
ALTER : 이미 생성한 공간에 추가 작업하기 위한 명령어
ALTER TABLE 'heebumtb' ADD '컬럼명';
ALTER TABLE 'heebumtb' MODIFY '컬럼명';
ALTER TABLE 'heebumtb' DROP '컬럼명';
CHARACTER SET 관련 :
요즘은 Emoji를 많이 사용하기 때문에, 이를 저장할 수 있는 형태로 구성해야한다.
DML (Data Manupulation Language)
: 데이터를 추가, 읽기, 수정, 삭제를 위한 언어
INSERT : 하나의 데이터 묶음을 테이블에 저장하기 위한 명령어
INSERT INTO 'heebumTB' VALUES (100, '희범', 500);
INSERT INTO 'heebumTB' ('id', 'name', 'number') VALUES (100, '희범', 500);
SELECT : 하나 또는 여러 개의 데이터 묶음을 조회하기 위한 명령어
SELECT [ALL / DISTINCT] 컬럼1, 컬럼2, ...
FROM 테이블명
WHERE 컬럼1 = '조회조건';
DISTINCT : 중복을 제거하기 위해서 사용, 단 성능 저하가 발생할 수 있음
LIKE : 문자열의 부분 일치를 확인하기 위한 절
% : N개의 자리를 뜻함
_ : 1개의 자리를 뜻함
SELECT `컬럼 명` FROM `테이블 명` WHERE `컬럼 명` LIKE "%탐색문자열_";
GROUP BY: 열 단위로, 하나의 그룹을 구성하는 절
단일결과, 다중결과가 나타날 수 있는 컬럼을 고려하여 작성해야한다
WHERE 절이 일반 필터였다면 HAVING 절은 GROUP BY 조건에서 사용되는 필터
GROUP BY절은 반드시 HAVING절을 사용해야하고, WHERE 절을 사용하지 않는다!
UPDATE : 특정 데이터를 수정하기 위한 명령어
반드시 조건을 부여하지 않으면 모든 데이터에 영향을 미친다는 점을 기억해야한다.
UPDATE 'heebumTB' SET '이름' = '하하' -> 모든 컬럼의 이름을 '하하'로 변경하게 된다.
UPDATE 'heebumTB' SET '이름' = '하하' WHERE id = 45; -> 이런식으로 조건을 부여해줘야한다.
DELETE : 특정 데이터를 삭제하기 위한 명령어
반드시 조건을 부여하지 않으면 모든 데이터에 영향을 미친다는 점을 기억해야한다.
DELETE FROM 'heebumTB' WHERE id = 45;
RDBMS
관계형 데이터베이스는 테이블 기반으로 구성되어있으며, 테이블 간 관계가 존재하기에 RDBMS라 부른다.
테이블 간의 관계는 Key를 이용하여 만들어진다.
Structure : 하나의 DB에는 여러개의 Table이 구성되어 있고, Table에는 여러개는 Column으로 구성.
Table : 동일한 데이터 양식을 관리하는 단위
Column : Table에서 어떤 내용을 담아둘지에 대한 이름으로, DTO 설계에 사용
Row : 실질적인 하나의 데이터 묶음
'Back-end > DB' 카테고리의 다른 글
MYSQL TABLE들 JOIN 해보기 (0) | 2022.05.22 |
---|---|
MYSQL 기본, CRUD (2) (0) | 2022.05.21 |
MYSQL 기본, CRUD (1) (0) | 2022.05.21 |