JUST GO
[구조] 레코드 본문
레코드
- C : 삽입하기
· 어떠한 테이블에 레코드를 삽입하기 위해 아래와 같이 명령한다.
INSERT INTO `스키마`.`테이블` (`열 이름`,...) VALUES (값,...);
· 값을 삽입할 때에는 테이블이 가지고 있는 열의 순서와 무관하게 테이블 이름 뒤 괄호 안에 명시하는 순서대로 값이 삽입된다.
· VALUES 뒤에 오는 괄호 세트 하나는 하나의 레코드를 의미하며 콤마로 구분하여 한 쿼리에 여러 레코드를 삽입 할 수 있다.
· 명시한(열 이름,...)의 순서와 (값,...)의 순서가 반드시 일치해야 한다.
- R : 선택하기
· 어떠한 테이블에 존재하는 레코드를 선택(조회)하기 위해 아래와 같이 명령한다.
SELECT [`열` 혹은 값 [AS `별명`]?],...
FROM `스키마`.`테이블` AS `별명`
[[LEFT|RIGHT|FULL OUTER|INNER] JOIN `대상 스키마`.`대상 테이블` AS `별명` ON `조건`]?...
[WHERE 조건]?
[GROUP BY [`열 이름`,..]]?
[ORDER BY[`열 이름` ASC|DESC],...]?
[LIMIT 개수 OFFSET 개수]?;
· 선택하고자 하는 테이블에 있는 열을 콤마를 이용하여 여러개 정의할 수 있다. 이 때 테이블에 존재하는 열의 순서와 관계 없이 SELECT 뒤에 적는 순서가 유의미하다.
· 열을 명시하지 않고 선택하는 테이블에 존재하는 모든 열을 사용하고자 할 때 별표(*)로 대신할 수 있다.
(대신 별명을 못지어서 자바랑 연동할 때 힘듬)
· 열이 아니더라도 리터럴 값을 명시할 수 있는데, 리터럴 값은 그 값이 선택되는 레코드의 개수 만큼 반복된다.
· 열 혹은 값에 대해 함수를 사용할 수 있다.
· JOIN 은 현재 SELECT 하는 대상이 되는 테이블이 가지고 있지 않은 정보를 다른 외부 테이블에서 가져오기 위해 사용.
· OUTER JOIN
· LEFT JOIN : JOIN 키워드 기준 왼쪽에 있는 테이블(SELECT 대상이 되는 테이블)을 기준으로 한다.
· RIGHT JOIN : JOIN 키워드 기준 오른쪽에 있는 테이블(JOIN 대상이 되는 테이블)을 기준으로 한다.
· INNER JOIN : SELECT 대상이 되는 테이블과 JOIN 대상이 되는 테이블 둘을 기준으로 한다.
· GROUP BY 는 통계함수 사용시 통합 시킬 기준 값을 가지는 열(들)이다. 명시하지 않는다면 결과상의 모든 레코드를 통합한다.
· ORDER BY는 [열 이름 ASC|DESC] 로 구성된 정렬 기준을 콤마로 구분하여 여러개 지정할 수 있으며
가장 앞에 나오는 기준을 최우선으로 한다. 여기서 ASC는 Ascending(오름차순)이고 DESC 는 Descending(내림차순) 정렬이다. 정렬 순서 생략시 ASC 를 사용한다.
· LIMIT x 는 제한되지 않은 상태에서의 SELECT 결과 상에서 생략할 레코드의 개수를 지정한다.
· OFFSET x 는 제한되지 않은 상태에서의 SELECT 결과 상에서 생략할 레코드의 개수를 지정한다.
- U : 수정하기
· 어떠한 테이블에 존재하는 레코드가 가진 값을 열 별로 수정하기 위해 아래와 같이 명령한다.
UPDATE `스키마`.`테이블`
SET [`열 이름` = 변경할 값],...
[WHERE 조건]?
[LIMIT x]? ;
· UPDATE 키워드는 대상이 되는 테이블에 존재하는 레코드를 기본적으로 모두 수정하려 한다. 하지만 DBMS에 기본적으로 안전 장치가 있음으로 작동하지 않는다.
· SET 키워드 뒤에는 [열 이름 = 값] 쌍을 콤마로 구분하여 수정할 열과 값을 여러개 지정할 수 있다.
· 이 때 수정하고자 하는 레코드를 WHERE 조건을 이용하여 제한할 수 있다.
· 마찬가지로, 조건 유무와 관계 없이 수정되는 레코드의 개수 자체를 LIMIT 키워드를 이용하여 제한할 수 있다.
· WHERE와 LIMIT은 선택 사항이지만 그 순서는 반드시 지켜야 한다. 즉, LIMIT 가 먼저오고 뒤에 WHERE 가 오면 안된다.
- D : 삭제하기
· 어떠한 테이블에 존재하는 레코드를 삭제하기 위해 아래와 같이 명령한다.
DELETE
FROM `스키마`.`테이블`
[WHERE 조건]?
[LIMIT x]?;
· DELETE 키워드는 대상이 되는 테이블에 존재하는 레코드를 기본적으로 모두 삭제하려 한다. 하지만 DBMS에 기본적으로 안전 장치가 있으므로 작동하지 않는다.
· 이 때 삭제하고자 하는 레코드를 WHERE 조건을 이용하여 제한 할 수 있다.
· 마찬가지로, 조건 유무와 관계 없이 삭제되는 레코드의 개수 자체를 LIMIT 키워드를 이용하여 제한할 수 있다.
· WHERE 와 LIMIT는 선택 사항이지만 그 순서는 반드시 지켜야 한다. 즉, LIMIT 가 먼저오고 뒤에 WHERE 가 오면 안 된다.
'DBMS > 학습내용' 카테고리의 다른 글
[공통] 페이징 (0) | 2022.10.07 |
---|---|
[공통] 연산자와 함수 (0) | 2022.10.05 |
[구조] 테이블과 열 (1) | 2022.10.05 |
[구조] 사용자 (0) | 2022.10.05 |
[구조] 스키마 (0) | 2022.10.05 |