728x90
반응형
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 |
---|