줄 마지막에는 ;를 붙이는 것을 습관화(코드랑 동일)
대문자 무조건!
벨류를 적는게 아니라면 ‘따옴표’는 쓰지 않는다. 속성명, 테이블명 따위
[대괄호]는 옵션으로 추가 가능한 부분, {중괄호}는
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자명 |
---|
**CREATE DOMAIN 도메인명 데이터타입 |
DEFAULT ‘기본값’ |
CONSTRAINT 제약명 CHECK(제약 내용)** |
**CREATE TABLE 테이블명 |
(속성명1 데이터타입, |
속성명2 NOT NULL, |
속성명3 |
[ , PRIMARY KEY(속성명1) ] |
[ , UNIQUE KEY(속성명3) ] |
[ , FOREIGN KEY (속성명2) REFERENCES 외부테이블명(외부테이블속성명1) ] |
[ ON DELETE SET NULL ]
[ ON UPDATE [ CASCADE ] ]
[, CONSTRAINT 제약조건명1] [CHECK (조건식)]);
CASCADE = 업데이트 시 관련된 모든 튜플의 속성값도 싸그리 변경** | | CREATE VIEW 뷰명 (속성명1, 속성명2….) AS SELECT 관련 구문 | | **CREATE [ UNIQUE ] INDEX 인덱스명 ON 테이블명 (속성명1 [ ASC / DESC ], 속성명2 [ ASC / DESC….] )
ASC = 오름차순 DESC = 내림차순** | | **ALTER TABLE 테이블명 ADD 속성명 데이터타입 [ DEFAULT ‘기본값’ [ NOT NULL ] ] or ALTER 속성명 [ SET DEFAULT ‘기본값’ ] or DROP COLUMN [ CASCADE ]
CASCADE = 제거할 특정 속성과 연관된 다른 속성 제거** | | **DROP TABLE 속성명 [ CASCADE | RESTRICT ]
CASCADE = 제거할 요소를 참조하는 다른 모든 개체 다 나가리 RESTRICT = 다른 개체가 제거할 요소를 참조중일땐 삭제 취소** |
| **GRANT DBA/RESOURCE/CONNECT TO 사용자명 [ IDENTIFIED BY 암호 ] ;
DBA = 데이터베이스 관리자 RESOURCE = 데이터베이스 및 테이블 생성 가능자 CONNECT = 단순 사용자** |
---|
REVOKE DBA/RESOURCE/CONNECT FROM 사용자명 |
**GRANT ALL/SELECT/INSERT/DELETE/UPDATE ON 개체 TO 사용자 [ WITH GRANT OPTION ]; |
WITH GRANT OPTION = 부여받은 권한을 다른 사용자에게 다시 부여할 수 있음.** | | **REVOKE [ GRANT OPTION FOR ] ALL/SELECT/INSERT/DELETE/UPDATE ON 개체 FROM 사용자 [ CASCADE ] ;
GRANT OPTION = 다른 사용자에게 권한을 부여할 수 있는 권한 취소** |
| **INSERT INTO 테이블명([속성명1, 속성명2]) VALUES (데이터1, 데이터2….) or SELECT 다른속성명1, 다른속성명2, 다른속성명3 FROM 다른테이블명
WHERE 조건문** |
---|
**DELETE FROM 테이블명 |
[ WHERE 조건 ] ; |
모든 레코드를 삭제할 때에는 WHERE 안넣어도 됨** | | UPDATE 테이블명 SET 속성명 = 데이터, 속성명2 = 데이터2…. [ WHERE 조건문 ] | | DML - SELECT | | 가장 기본적인 SELECT
SELECT 속성명1, 속성명2, 속성명3… FROM 테이블명 [ , 테이블명2 ] [ WHERE 조건 ] [ GROUP BY 속성명1, 속성명2 ] [ HAVING 조건 ] [ ORDER BY 속성명 [ ASC | DESC ] ] | | 조건 지정 검색 SELECT
SELECT * FROM 테이블명 WHERE 조건(예 : 속성명1 = ‘조건값’ AND 속성명2 <= 조건값 OR 속성명3 > 조건값) | | 조건 지정 검색 SELECT-2 **SELECT * FROM 테이블명 ORDER BY 속성명1 ASC | DESC
ASC = 오름차순, DESC = 내림차순 | 상위 N개를 지정하려면 SELECT TOP N *** | | 하위 질의 지정 검색 SELECT
SELECT * FROM 테이블명 WHERE 속성명1 = (SELECT 속성명1 FROM 속성명2 WHERE 조건문 ( 예 : 속성명3 = ‘지정값’ ) ) | | 복수 테이블 지정 검색 SELECT
SELECT 테이블명1.속성명1, 테이블명1.속성명2, 테이블명2.속성명3, 테이블명2.속성명4 FROM 테이블명1, 테이블명2 WHERE 테이블명1.속성명1 ≥ 비교값 AND 테이블명2.속성명3 = 테이블명1.속성명2 | | 그룹함수 SELECT
SELECT 속성명1 FROM 테이블명1 [ GROUP BY 속성명1, 속성명2 ] [ HAVING 조건 ] | | 그룹 함수
COUNT(속성명) - 해당 속성 튜플의 갯수 구해서 반환 SUM(속성명) - 해당 속성 튜플의 갯수 총합 반환 AVG(속성명) - 해당 속성 튜플의 평균값 반환 | | 집합 연산자를 통한 SELECT
**SELECT 속성명1, 속성명2 FROM 테이블명 UNION | UNION ALL | INTERSECT | EXCEPT SELECT 속성명1, 속성명2, 속성명3…… FROM 테이블명 [ ORDER BY 속성명 [ ASC | DESC ] ]
집합 연산자 UNION = 두 SELECT문의 조회 결과를 통합하여 모두 출력, 중복된 행은 한 번만!!!!!! UNION ALL = 두 SELECT문의 조회 결과를 통합하여 모두 출력, 중복된 행 모두 출력!!!!!! INTERSECT = 두 SELECT문의 조회 결과 중 공통된 행만 출력, 교집합!!!!!!! EXPECT = 첫 번째 SELECT문에서 2번째 SELECT문과 겹치지 않는 것만 출력, 차집합!!!!!!!!** |