728x90
반응형
데이터베이스의 기본, SQL 문의 기초 개념을 간단히 정리해보았다.
데이터베이스를 조회, 수정, 추가, 삭제하고 정렬하는 명령어들에 대한 내용이다.
- 조회: SELECT
- 갱신: UPDATE
- 삽입: INSERT
- 제거: DELETE
SQL 문의 기본
먼저, SQL문의 기본 규칙은 다음과 같다.
- SQL문 마지막에는 딜리미터를 붙인다. - 대부분은 세미콜론(;), \g(세로로 보기 쉽게)
- 키워드의 대문자와 소문자는 구별하지 X
- 정수는 기존 그대로 쓴다. 문자열이나 날짜 시각은 작은따옴표(’’)로 감싼다.
- 단어는 반각 스페이스나 개행으로 구별한다. 전각 스페이스는 사용 X
1. 테이블 조회: SELECT
1. SELECT: 어디서(FROM 테이블명) 무엇을 가지고 온다(SELECT 열명)
SELECT 열명 FROM 테이블명
2. WHERE:조건
SELECT 열명 FROM 테이블명 WHERE 조건
- <> 같지 않다.
- AND, OR
3. DISTICT: 중복 배제
4. ORDER BY: 정렬키
SELECT ~ ORDER BY 열1[, 열2, …]
- ORDER BY 에 사용한 열명 ⇒ ‘ 정렬키’
- 디폴트는 오름차순(ASC) 정렬
- 내림차순 정렬 ⇒ DESC 키워드 추가
5. COUNT: 테이블 전체의 행수 합산
- 테이블 요약 함수
- 복수 행이나 행의 값에 대해 집계를 수행하는 함수를 집약함수라 한다.
- COUNT, SUM, AVG, MAX, MIN
- 단일 행의 값에 대해 조작이나 계산을 수행하는 함수
- 복수 행이나 행의 값에 대해 집계를 수행하는 함수를 집약함수라 한다.
6. GROUP_CONCAT: 문자열 집약 함수
7. GROUP_BY: 데이터를 그룹으로 나눔
SELECT ~ FROM 테이블명 GROUP BY 열명1 [, 열명2, ...]
- 집약한 결과에 조건 지정하고 싶다면?: 뒤에 HAVING 그룹의 값에 대한 조건 추가
⭐️반드시 이 순서로 작성!
(1)SELECT → (2)FROM → (3)WHERE →(4)GROUP BY → (5)HAVING → (6)ORDER BY
2. 수정: UPDATE
: 기존 데이터 변경
UPDATE 테이블명 SET 열명 = 값
→ 이 구문에서 ‘SET’으로 지정한 열 이외의 것은 변경되지 않는다.
UPDATE 테이블명 SET 열명 = 값 WHERE 조건;
→ 갱신할 대상을 WHERE로 간추리는 이런 방법이 자주 사용된다.
- 갱신은 WHERE 구문에 부합하는 행 전부에 대해 수행되므로 1행을 갱신하려면 WHERE에서 대상 행을 유니크하게 지정해야 한다.
- 행을 유티크하게 지정하려면 복수 열의 값은 AND로 지정하거나 유니크한 것이 분명한 열을 조건으로 지정한다.
- 복수 열의 동시 갱신 가능
3. 삽입: INSERT
: 데이터 입력
- 행 단위로 수행됨.
- ⇒ 행을 구성하는 열의 정의 정보를 포함한 ‘테이블 정의’를 정확하게 알아야 함.
INSERT INTO 테이블명(열1[, 열2, ...]) VALUES ( 값1[, 값2, ...]);
테이블명 뒤의 열 리스트와 VALUES 뒤의 값 리스트는 수와 데이터형이 일치되어야 한다.
테이블에 정의된 모든 열에 대해 VALUES에서 값을 설정하면 테이블명의 열 리스트를 생략할 수 있다.
4. 결합: JOIN
: 2개 이상의 테이블을 대상으로 결합
<내부결합(INNER JOIN)>
- 해을 결합하기 위한 조건: ON
- ON으로 지정한 결합조건에 일치하는 행만을 2개의 테이블로부터 가져올 수 있음.
- 교집합
<외부결합(OUTER JOIN)>
- 합집합
SELECT 선택하고 싶은 열의 리스트 FROM 첫번째 테이블명 LEFT OUTER JOIN 두번째 테이블명 ON 결합조건;
[참고자료]
데이터베이스 첫걸음(미크, 기무라 메이지)
728x90
반응형