
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자;
CREATE DOMAIN 도메인명 데이터타입 DEFAULT 기본값;
CREATE TABLE 테이블명(
속성명 데이터타입,
속성명 데이터타입,
속성명 데이터타입,
PRIMARY KEY(속성명),
FOREIGN KEY(속성명) REFERENCES 참조테이블명(기본키속성명));
CREATE VIEW : 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블, 저장장치 내에 물리적으로 존재하지 않지만 사용자에게는 있는것 처럼 간주된다.
CREATE VIEW 뷰이름(속성명, 속성명 ---) AS SELECT문;
ex)
CREATE VIEW 대전고객(성명,전화번호) AS SELECT 성명, 전화번호 FROM 고객 WHERE 주소 = '대전';
ALTER
DROP
DROP VIEW 대전고객 [RESTRICT/CASCADE];
RESTRICT : 뷰를 다른곳에서 참조하고 있으면 삭제 취소
CASCADE : 뷰를 참조하는 다른 뷰나 제약조건까지 모두 삭제
DML (조작어)
SELECT
SELECT 속성명 FROM 테이블명 WHERE 조건 GROUP BY 속성명 HAVING 조건 ORDER BY 속성명 DESC;
SELECT 속성명 FROM 테이블명 T -> 테이블명을 앞으로 T라고 하겠다. (AS)
DISTINCT (중복된 데이터 한번만 출력)
IN (300, 500) : 300이거나 500인 것
INSERT
INSERT INTO 테이블명 VALUES(데이터);
INSERT INTO 테이블명(속성명, 속성명 ...) VALUES(데이터..);
UPDATE : 튜플의 내용을 변경
UPDATE 테이블명
DELETE
DELETE FROM 테이블명 조건;
COUNT(*) : NULL 포함
COUNT(COLUMN) : NULL 제외
사용자 정의 함수 : SELECT를 통한 조회만 가능. DML의 호출에 의해 실행.
JOIN :
DCL (제어어)
COMMIT
ROLLBACK / SAVEPOINT
SAVEPOINT S1;
ROLLBACK TO S1;
세이브포인트 미지정시 COMMIT 후로 돌아감
GRANT
GRANT 부여하려는권한 ON 테이블명 TO 누구에게;
GRANT SELECT ON 학생 TO 안준수; // 학생 테이블 SELECT 권한 부여
GRANT ALL ON 학생 TO 안준수;
REVOKE
REVOKE 회수하려는 권한 ON 테이블명 FROM 누구로부터;
REVOKE SELECT ON 학생 FROM 안준수; // 학생테이블 SELECT 권한 회수
CREATE INDEX 직원_NAME ON 직원(이름);
GRANT ALL ON 학생 TO 홍길동;
DELETE FROM 학생 WHERE 이름 = 'SCOTT';
SELECT * FROM 수강 WHERE 과목명 = 'DB'ORDER BY 기말성적 DESC, 중간성적 ASC;