본문 바로가기
컴소니/DB

오라클 DBMS 공부 5일차 - SQL이란?

by 금소니 2020. 3. 25.
반응형

#58

1. SQL(Structured Query Language)란?

데이터베이스에서 데이터를 조회, 입력, 수정, 삭제, 저장하는데 사용되는 질의 언어로써 절차적 언어의 특징을 가지고 있습니다.

SQL은 관계형 데이터 베이스에서 데이터를 관리하기 위한 목적으로 만들어졌습니다.

 

2. SQL의 특징

- 패턴이 정해져 있어 배우기 쉬움

- 개별 단위로 처리되지 않고 데이터 집합 단위로 처리

- 표준 SQL 문법이 존재하여 어떤 DBMS라도 공통으로 SQL 문장을 작성할 수 있음

 

3. SQL  문장의 종류

1) DML(Data Manipulation Language) : 데이터 조작 언어

데이터를 조회, 저장, 삭제할 때 사용하는 SQL 문장

 

- SELECT 문

  데이터를 조회할 때 사용

  EX) SELECT 컬럼명 FROM 테이블명 WHERE 조건;

 

- INSERT 문

  테이블에 새로운 데이터를 넣을 때 사용

  EX) INSERT INTO 테이블명 VALUES (컬럼에 해당되는 값); -> 모든 컬럼에 해당되는 값을 넣을 때 사용

       INSERT INTO 테이블명 (컬럼명) VALUES (컬럼에 해당되는 값); -> 지정된 컬럼에 해당되는 값을 넣을 때 사용

 

- UPDATE 문

  기존에 테이블에 저장되어 있는 데이터를 새로운 값으로 변경할 때 사용

  EX) UPDATE 테이블명 SET 컬럼 = 변경하고자 하는 값 WHERE 조건;

 

- DELETE 문

  데이터를 삭제할 때 사용

  EX) DELETE [FROM] 테이블 WHERE 조건;

 

- COMMIT 문

  INSERT, UPDATE, DELETE 작업을 통해 데이터 변경이 일어 난 후 반영을 위해 사용(중요!)

  EX) COMMIT을 보통 많이 사용

       COMMIT [WORK] [TO SAVEPOINT savepoint_name]; -> 반영 시점을 정하여 반영할 때 사용

 

- ROLLBACK 문

  COMMIT과 반대로 변경된 데이터를 원래 상태로 돌릴 때 사용

  EX) ROLLBACK을 보통 많이 사용

       ROLLBBACK [WORK] [TO SAVEPOINT savepoint_name]; -> 되돌릴 시점을 정하여 되돌릴 때 사용

 

2) DDL(Data Definition Language) : 데이터 조작 언어

데이터베이스 객체들을 생성하는데 사용되는 SQL 문장

 

- CREATE 문

  데이터베이스 객체들을 생성할 때 사용

  EX) CREATE [객체종류] [객체명]

 

- DROP 문

  데이터베이스 객체들을 삭제할 때 사용

  EX) DROP [객체종류] [객체명]

 

- ALTER 문

  기존에 생성된 객체를 변경할 때 사용

  EX) ALTER [객체종류] [객체명] [추가옵션]

 

- TRUNCATE 문

  DROP 문과 동일학제 객체를 사용할 때 사용하지만 차이점은 ROLLBACK을 할 수 없이 테이블을 완전 삭제할 때 사용

  삭제 시 테이블 구조는 보존 

  EX) TRUNCATE TABLE 테이블명

 

3) DCL(Data Control Language) : 테이터 제어 언어

데이터베이스에 있는 데이터에 접근을 제어하는 언어

 

- GRANT 문

  접근제어나 어떤 작업을 허용하는 권한을 부여할 때 사용

  EX) GRANT [권한] to [계정]

 

- REVOKE 문

  부여된 권한을 제거할 때 사용

  EX) REVOKE [권한] to [계정]

 

4. SQL 문장 구성요소

SQL 문장을 작성하는데 있어 사용되는 구성요소들이 있습니다.

 

1) 예약어

DBMS에서 특정 용도로 사용되는 단어로써 이런 단어들은 다른 용도로 사용할 수 없음

EX) SELECT, FROM, WHERE, CREATE 등

 

2) 연산자

수식연산 외의 문자를 결합하는 용도로 사용

EX) +, -, /, *, >, <, UNION, UNION ALL 등

 

3) 의사컬럼

테이블에 존재하지만 실제 테이블에 저장되어 있지 않은 컬럼, 조회만 가능

 

- ROWNUM

  쿼리결과로 나오게 되는 로우들에 대한 순서값

 

- ROWID

  테이블에 저장된 로우들의 저장된 주소값

 

3) 함수

특정 연산을 수행하고 그 결과를 돌려주는 기능을 수행하는 객체

EX) SYSDATE, ROUND 등

 

4) 표현식

여러개의 값들을 조합하여 나타낸 표현

 

5) 조건

WHERE절이나 HAVING과 결합되어 해당 표현에 맞는 값들만 출력하기 위해 사용

반응형

댓글