본문 바로가기
Development study summary/MSSQL

[MSSQL] SQL이란?

by Eilison 2022. 4. 13.

 

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과 결합되어 해당 표현에 맞는 값들만 출력하기 위해 사용

 

 

'Development study summary > MSSQL' 카테고리의 다른 글

[MSSQL] 트리거(Trigger)  (3) 2022.04.14
[MSSQL] WHERE 절의 조합(AND / OR / NOT / IN)  (0) 2022.04.13
[MSSQL] 트랜잭션  (0) 2022.04.12
[MSSQL] B-Tree  (0) 2022.04.12
[MSSQL] 의 Varchar 와 nVarchar의 차이  (0) 2022.04.12