post by WHITEHATS
정보처리기사 (필기) - 관계 데이터베이스 모델과 언어 3
5. SQL(Structurecd Query Language)
▶ 정의어(DDL)
- 물리적인 구조를 정의하고 관리
- CREATE(생성)
- DROP(삭제)
- ALTER(변경)
▶ 제어어(DCL)
- 사용권한 및 무결성, 병행제어 기능
- GRANT(권한부여)
- REVOKE(권한제거)
- COMMIT(반영)
- ROLLBACK(취소)
▶ 조작어(DML)
- 데이터를 처리
- SELECT(선택)
- DELETE(삭제)
- INSERT(삽입)
- UPDATE(갱신)
5-1-1. SQL - DDL : CREATE
▶ CREATE : 테이블, 뷰, 인텍스, 스키마 등을 생성
CREATE TABLE 테이블명칭 (
열명칭1 특성1,
열명칭2 특성2,
열명칭3 특성3,
…,
PRIMARY KEY (열명칭),
FOREIGN KEY (열명칭) REFERENCES 참조테이블명칭(열명칭),
);
CREATE TABLE 학생 (
학번 CHAR(10),
이름 CHAR (5),
전화번호 CHAR (10),
과목코드 CHAR (4),
PRIMARY KEY (학번),
FOREIGN KEY (과목코드) REFERENCES 과목(과목코드),
);
->
5-1-2. SQL - DDL : VIEW
▶ VIEW(뷰) : 사용자에게 접근이 허용된 자료만 보여주기 위해 하나 이상의 테이블에서 유도된 가상 테이블
- 물리적으로 존재하지 않고 논리적으로만 존재
CREATE VIEW 컴퓨터_VIEW(이름, 과목) AS
SELECT 이름, 과목
FROM 학생
WHERE 과목 = ‘컴퓨터’;
5-1-3. SQL - DDL : DROP
▶ DROP : 테이블, 뷰, 인덱스, 스키마 등을 삭제
DROP TABLE 테이블명칭;
DROP TABLE 학생;
- CASCADE : 참조하는 테이블도 모두 제거
- RESTRICT : 참조하는 테이블이 있을 경우 제거하지 않음
5-1-4. SQL - DDL : ALTER
▶ ALTER : 테이블, 인덱스, 스키마 등 구조 변경
ALTER TABLE 학생 ADD 주민번호 CHAR(13);
ALTER TABLE 학생 DROP 전화번호;
5-2-1. SQL - DML : SELECT
▶ SELECT : 테이블에 존재하는 데이터에 대한 질의
SELECT [ALL|DISTINCT] 검색대상
FROM 테이블명
[WHERE 조건식]
[GROUP BY 열명칭]
[HAVING 검색조건]
[ORDER BY 열명칭 [ASC|DESC]];
SELECT 이름, 과목
FROM 학생
WHERE 과목 = ‘컴퓨터’;
학생
- DISTINCT : 중복된 데이터 한번만 출력
- ASC : 오름차순
- DESC : 내림차순
SELECT * FROM 학생WHERE 이름 LIKE ‘김%’; -> 김씨로 시작하는 이름을 찾아라 (김양)
SELECT * FROM 학생WHERE 성적 BETWEEN 70 AND 90; -> 80, 90, 70점의 모든 값을 추출 (김양, 이양, 황군)
SELECT * FROM 학생WHERE 전화번호 IS NULL; -> 비어있는것을 선택 황군!
SELECT * FROM 학생
WHERE 과목 = ‘컴퓨터’
ORDER BY 성적 DESC; -> 김양과 박군이 내림차순 (김양아래 박군 순으로 나옴)
5-2-2. SQL - DML : INSERT, UPDATE, DELETE
▶ INSERT : 생성된 테이블에 데이터 입력
INSERT INTO 테이블명칭
VALUES (데이터 값1, 데이터 값2, …);
INSERT INTO 학과
VALUES (‘1111’,’컴퓨터’); -> (1111에 컴퓨터라고 입력해라)
▶ UPDATE : 테이블에 데이터 수정
UPDATE 테이블명칭
SET 열명칭 = 변경 값
[WHERE 조건식];
UPDATE 학과
SET 과목 = ‘컴퓨터’
WHERE 학과코드=‘1111’; -> (1111이 영언데 컴퓨터로 바꿔라)
▶ DELETE : 테이블에 데이터 삭제
DELETE FROM 테이블명칭
[WHERE 조건식];
DELETE FROM 학과
WHERE 학과코드=‘1111’; -> (학과코드 1111를 지워라)
5-3. SQL - DCL
▶ GRENT : 권한부여
▶ REVOKE : 권한취소
▶ COMMIT : 트랜잭션 완료
▶ ROLLBACK : 트랜잭션 취소
GRANT SELECT ON 학생 TO 김양; -> 학생 테이블에 대한 권한을 김양한테 부여하겠다.
GRANT SELECT ON 학생 TO 김양 WITH GRANT OPTION;
- 권한종류 : ALL, INSERT, DELETE, UPDATE, SELECT 등
REVOKE SELECT ON 학생 FROM 김양 CASCADE; -> SELECT ON 학생에서 김양한테 주어진 권한을 삭제하겠다. (CASCADE : 부여된 권한을 모두 취소하겠다.)
하얀모자의 whitehat
'▶ 자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 (필기) - 1과목 데이터베이스 정리(10년 3월) (0) | 2016.02.14 |
---|---|
정보처리기사 (필기) - 관계 데이터베이스 모델과 언어 4 (0) | 2016.02.11 |
정보처리기사 (필기) - 관계 데이터베이스 모델과 언어 2 (0) | 2016.02.11 |
정보처리기사 (필기) - 관계 데이터베이스 모델과 언어 1 (0) | 2016.02.11 |
정보처리기사 (필기) - 데이터 모델링 및 설계 2 (0) | 2016.02.10 |