[SQL] SQL의 개념과 종류

2023. 9. 8. 04:19· 데이터베이스
목차
  1. SQL의 개념
  2. SQL의 종류
  3.  
  4. 마치며
728x90
반응형

DB의 언어, SQL

SQL의 개념

SQL이란, Structured Query Language의 약자로, 데이터 베이스에서 데이터를 추출하고 조작하는 데에 사용되는 데이터 처리 언어입니다. 쉽게 말해서, 우리가 코딩을 할 때 사용하는 언어인 Python, Java, C와 같은 언어라고 생각하면 될 것같습니다. 

 

SQL의 종류

  • DDL(Data Definition Language) : 데이터베이스의 구조를 생성하거나, 변경, 삭제하기 위한 명령어들
CREATE 생성
ALTER 수정
DROP 삭제

ex)

CREATE DATABASE db1; # db1 생성
USE db1; # db1 사용
CREATE TABLE tbl1(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50)); # tbl1 테이블 생성
ALTER TABLE tbl1 ADD COLUMN age INT; # tbl1 테이블에 age라는 컬럼 추가
DROP TABLE tbl1; #tbl1 테이블 삭제
  • DML (Data Manipulation Language): 데이터를 조작하는 명령어들입니다. 이 명령어를 통해 CRUD를 구현!
SELECT 조회
INSERT 삽입
UPDATE 수정
DELETE 삭제

ex)

SELECT * FROM tbl1; # 전체 조회
INSERT tbl1 (name, age) VALUES ('희상','25'); # 삽입
UPDATE tbl1 SET age = 23 WHERE name = '희상'; # 수정
DELETE FROM tbl1 WHERE name = '희상'; # 삭제
  • DCL (Data Control Language): DB의 유저에 대한 권한을 설정하는 명령어입니다.
GRANT 권한 부여
REVOKE 권한 회수

ex)

GRANT INSERT, SELECT ON db1.* TO 'heesang'@'localhost'; # heesang 유저에 tbl1 테이블에 대한 조회, 삽입 권한 부여
GRANT ALL PRIVILEGES ON db1.* TO 'heesang'@'localhost'; # heesang 유저에 tbl1 테이블에 대한 모든 권한 부여
REVOKE ALL PRIVILEGES ON db1.* FROM 'heesang'@'localhost'; # heesang 유저의 모든 권환 회수

 

  • TCL (Transaction Control Language) : Transaction과 관련된 명령어
COMMIT 트랜잭션 확정
ROLLBACK 변경 취소
SAVEPOINT 특정 지점 설정

ex)

START TRANSACTION; # 트랜잭션 시작
INSERT INTO exampleTable (id, name) VALUES (3, 'Charlie'); # 삽입
SAVEPOINT sp1; # 지점설정
DELETE FROM exampleTable WHERE name = 'Bob'; # 삭제
ROLLBACK TO sp1; # sp1 포인트로 회귀
COMMIT; # 트랜잭션 확정

 

마치며

이렇게 SQL에 존재하는 4가지 언어를 알아봤습니다. 하지만 이외에도 더 많은 명령어가 존재하고, 다양한 옵션들이 존재해서 SQL에 대한 공부는 꾸준히 진행해야할 것 같습니다. 추가적으로, RDBMS마다 명령어가 조금씩 다르거나 자료형이 다른 경우도 있으니, 기존의 DB와는 다른 DB를 공부할 경우 차이점에 대해서도 잘 숙지해야 할 것 같습니다.

728x90
반응형
저작자표시 (새창열림)

'데이터베이스' 카테고리의 다른 글

[Redis] Redis의 개념과 활용, RDBMS와의 속도 비교까지  (0) 2023.09.26
  1. SQL의 개념
  2. SQL의 종류
  3.  
  4. 마치며
'데이터베이스' 카테고리의 다른 글
  • [Redis] Redis의 개념과 활용, RDBMS와의 속도 비교까지
heesang0930
heesang0930
백엔드 개발자로 성공하고 싶은 사람의 블로그
반응형
250x250
heesang0930
Tech Blog
heesang0930
전체
오늘
어제
06-20 07:49
  • 분류 전체보기
    • 책
    • Lang
    • Backend
      • Framework
      • Deployment
    • Cloud
    • 데이터베이스
    • Architecture
      • Monitoring
    • CS
    • 코딩 테스트
    • 자료구조&알고리즘
    • etc..
    • 공부

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • GitHub
  • Medium
  • will-post list

공지사항

  • 신입 백엔드개발자

인기 글

hELLO · Designed By 정상우.v4.2.2
heesang0930
[SQL] SQL의 개념과 종류
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.