시험 직전, 복습용으로 문제를 풀고 sql을 다시 보며 정리했다.
Data Define Language. DB구축 or 수정 목적으로 사용
SCHEMA, DOMIN, TABLE, VIEW, INDEX를 정의
CREATE TABLE 테이블명
(속성명 데이터_타입 [NOT NULL], ... ,
...,
PRIMARY KEY(기본키_속성명),
FOREIGN KEY(외래키_속성명) REFERENCES 참조테이블(기본키_속성명)
ON DELETE 옵션
ON UPDATE 옵션,
CONSTRAINT 제약조건명
CHECK (조건식));
CREATE VIEW 뷰명(속성명, 속성명, ...)
AS SELECT문
SELECT문에는 FROM 테이블명 WHERE 조건식; 이 들어간다
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명 [ASC|DESC]]);
테이블 정의를 변경하는 명령
ALTER TABLE 테이블명 ADD 속성명 데이터_타입;
ALTER TABLE 테이블명 ALTER 속성명;
ALTER TABLE 테이블명 DROP COLUMN 속성명 [CASCADE];
컬럼(속성)제거는 여기서
스키마, 도메인, 기본테이블, 뷰테이블, 인덱스, 제약조건 등을 제거하는 명령문
DROP SCHEMA 스키마명;
DROP DOMAIN 도메인명;
DROP TABLE 테이블명;
DROP VIEW 뷰명;
DROP INDEX 인덱스명;
DROP CONSTRAINT 제약조건명;
이름 뒤에 CASCADE나 RESTRICT를 사용 가능.
Data Control Language. 데이터 보안, 무결성, 회복, 병행제어 등을 정의하는 데 사용하는 언어.
DBA 데이터베이스 관리자가 데이터 관리를 목적으로 사용
COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크에 저장하고 DB 조작이 정상적으로 완료되었음을 관리자에게 알림
ROLLBACK : 변경되었으나 아직 COMMIT되지 않은 모든 내용을 취소하고 DB를 이전상태로 되돌리는 명령어
GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];
REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE];
Data Manipulation Language. 데이터베이스 사용자가 저장된 데이터를 실질적으로 관리하는데 사용하는 언어
DB 사용자와 DBMS간 인터페이스를 제공
새로운 튜플을 삽입할 때 사용
INSERT INTO 테이블명(속성1, 속성2, ...)
VALUES (데이터1, 데이터2, ...)
DELETE FROM 테이블명 [WHERE 조건];
UPDATE 테이블명
SET 속성명 = 데이터[, 속성명2 = 데이터2, ...]
[WHERE 조건];
SELECT [PREDICATE | DISTINCT] [테이블명.]속성명 [AS 별칭][, ...]
FROM 테이블명
[WHERE 조건]
[GROUP BY 속성명, 속성명2, ...]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
PREDICATE : 검색할 튜플 수를 제한하는 명령어를 기술
DISTINCT : 중복된 튜플이 있으면 첫번째만 표시
GROUP BY : 특정 속성을 기준으로 그룹화해 검색할때 사용
HAVING : GROUP BY 와 함께 사용되며 그룹의 조건을 지정함
ORDER BY : 데이터를 정렬할 때 사용. 기준이 되는 속성과 정렬방식.