데이터베이스 첫걸음 메모

1강

  • sql 명령어는 다음과 같이 3가지로 나뉜다.

    • DML (Data Manipulation Language) : 데이터를 조작할 때 사용

    • DDL (Data Definition Language) : 데이터 정의하는 명령어, 데이터베이스는 데이터 객체라는 데이터 그릇을 이용하여 데이터를 관리하는데 이 같은 객체를 만들거나 삭제하는명령어

    • DCL (Data Controll Language) : 데이터를 제어하는 명령어. 트랜젝션과 데이터 접근권한을 제어하는 명령어를 포함

  • RDBMS도 웹시스템과 마찬가지로 클라이언트/서버 모델로 시스템이 구성되어있다.

2강

  • 예약어와 데이트베이스 객체명은 대소문자를 구별하지 않는다.

  • 데이터는 자료형이 있다. integer, char, varchar, date, time

  • desc

  • where 조건의 not equal은 <> 이 표준

  • char나 date등의 데이터는 single quote로 감싸주어 자료형에 맞게 리터럴로 표시하자 ex) where name = 'jh';

  • (x) where foo = null, (o) where foo IS NULL

  • 연산우선순위 AND > OR

  • LIKE 에서 사용할수 있는 메타문자.

    • %: 임의의 문자열

    • _: 임의의 문자 하나

  • WHERE text LIEK 'ABC%'는 'APPLE IS ABC' 라는 text 를 필터링하지 못한다. 즉 전방일치.

  • single quote를 escape 하는 방법은 '' 두번쓰는것이다.

    • ex) It's -> 'It''s'

3강

  • order by 는 여러 컬럼을 지원한다.

    • ex) SELECT * FROM PERSON WHERE PERSON.id > 10 OREDER BY PERSON.id DESC, PERSON.age ASC;

5강

  • group by 는 집계함수에만 쓰인다.

  • 실행순서 where -> group by -> select -> order by

  • 따라서 집계함수는 where절에저 조건식을 사용 못함. 따라서 HAVING 구문이 있다.