middlemoon
제2과목 SQL기본 본문
제2과목 SQL기본
DML (데이터 조작어)
: SELECT (=RETRIEVE), INSERT, UPDATE, DELETE -> SIDU(시더)
- DDL (데이터 정의어)
: CREATE, ALTER, DROP, RENAME (생성, 변경, 삭제, 이름변환) -> CARD(카드)
- DCL (데이터 제어어)
: GRANT, REVOKE (권한을 주고 회수하는 명령어)
- TCL (트랜잭션 제어어)
: COMMIT, ROLLBACK (트랜잭션 졀로 에어하는 명령어)
비절차적 데이터 조작어는 사용자가 무슨 데이터를 원하는지만 확인하면 됨
절차적 데이터 조작어는 어떻게 데이터를 접근해야하는지 까지도 명세함
PK제약조건을 생성하는 DDL
Constraint_name, Constraint PRIMARY KEY, ADD(x)
참고(NOT NULL 바뀌는 문장을 찾아내야할 때 코드를 보는 방법)
두개의 칼럼으로 동시에 작업을 할수없다.
NOT NULL의 조건, 중복칼럼 사용주의를 파악
제약조건
PRIMARY KEY(기본키) : 기본키 정의
UNIQUE KEY(고유키) : 고유키 정의
PK = UNIQUE and NOT NULL 성격을 가짐
CHECK
FK(foreign key)
NOT NULL
UNIQUE는 NULL 입력가능하다.
A-Z, a-z, 0-9, _, $, #
CONSTRAINT constraint_name PRIMARY KEY (col_1, col2,….
CREATE TABLE
ALTER TABLE
RENAME TABLE
DROP TABLE
TRUNCATE TABLE
데이터베이스 테이블의 제약조건
Check 제약조건은 데이터베이스에서 무결성을 유지하기 위함
기본키는 반드시 테이블 당 하나의 제약만을 정의
고유키로 지정된 모든 컬럼들은 NULL값을 가질수 있음
외래키는 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블 외래키가 참조하도록 쓰임
ALTER TABLE 테이블 명 , DROP COLUMN 삭제할 칼럼명
로그를 남기는 것을 원칙으로 하는것은 TRUNCATE TABLE, DRIO TABLE
SQL 명령어
DISTINCT - 데이터의 중복을 제거하는 명렁어이다. GROPU BY문을 사용하여 다음과 같이 데이터를 제거할수 있다.
TRUNCATE 테이블- 특정 테이블의 모든 데이터를 삭제, 디스크용량 초기화 위해서는 TRUNCATE 테이블 사용
DELETE TABLE - 데이터 모두삭제, 디스크 사용량 초기화는 안함
DROP TABLE - 테이블 데이터 모두 삭제하고 디스크 사용량도 초기화 하지만 스키마 정의도 삭제 따라서 모두 삭제
데이터베이스 트랜잭션
원자성 - 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행 or 전혀 실행되지 않은 상태
일관성 - 트랜잭션 실행 되기 전의 데이터베이스 내용이 잘못되지 않다면 이후에도 내용이 잘못되어있으면 안된다
고립성 - 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과 만들어선 안됨
지속성 - 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적 저장
DDL - Auto commit
트랜잭션 - 데이터베이스의 논리적 연산단위, 밀접히 관련되어 분리될수 없는 한개이상의 데이터베이스 조작을 가리킴
커밋 - 데이터에 대한 변경사항을 데이터베이스에 영구적으로 반영하는 커밋과
모두 폐기하고 이전 상태로 되돌리는 롤백이 있다
WHERE절 - SQL을 이용하여 데이터베이스로부터 데이터를 검색할때 조회되어야하는 데이터를 필터링하는데 사용함
논리연산자의 우선순위
NOT > AND >OR 순서
NULL 값을 조건절에서 사용하는 경우 IS NULL이라는 키워드를 사용해야한다
내장함수에 대한 설명
함수의 입력 행수에 따라 단일행 함수와 다중행 함수로 구분할수 있다
단일행 함수는 SELECT, WHERE, ORDER BY, UPDATE의 SET절에 가능하다
NULLiF함수는 EXPR1과 EXPR2 같으면 NULL, 같지않으면 EXPR1을 리턴한다
NVL - 표현식1의 결과값이 NULL이면 표현식 2의 값을 출력한다
NULLIF - 표현식1이 표현식2와 같으면 NULL을 같이 않으면 표현식1을 리턴한다
COALESCE - 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다
ORDER BY절에 컬럼명 대신 Alias 명이나 컬럼순서를 나타내는 정수를 혼용사용 가능
Select 문장의 실행순서
From - where - group by- having - select- order by
'자격증' 카테고리의 다른 글
제2장 SQL활용 (0) | 2021.11.20 |
---|---|
SQLD 제2장 데이터모델과 성능 (0) | 2021.11.17 |
SQLD 제1장 데이터모델링의 이해 (0) | 2021.11.17 |