Meme's IT

[SQL] SQL 명령어와 기본 지식 본문

BackEnd/DB

[SQL] SQL 명령어와 기본 지식

Memez 2023. 10. 12. 23:27

# SQL이란?

Structured Query Language(구조화된 질의 언어)의 약자로,

DB에서 데이터를 조작하고, 검색하는 데에 사용되는 표준 언어

 

# SQL 문(Statement)

데이터를 조작하거나, 검색하는 작업을 수행하는 명령어들

여러개의 절(clause)로 구성이 되어있다.

ex) SELECT, INSERT, UPDATE, DELETE 등

# SQL 절(clause)

SQL문의 구성요소 중 하나로, SQL문의 구문 구조를 완성하기 위해 사용됨

ex) FROM, WHERE, GROUP BY, ORDER BY등

 


SQL의 명령어는 크게 3가지 그룹으로 분류된다.

1. DDL(Data Definition Language): 데이터 정의 언어

데이터베이스 구조(테이블, 스키마)를 다루기 위한 명령어

  • 테이블 간의 관계가 있기 때문에 변경이 어렵다
  • 잘못 설계하면 시스템 성능에 치명적일 수 있다.
  • 예시: CREATE, DROP, ALTER...

 

2. DML(Data Munipulation Language): 데이터 조작 언어

데이터를 조작(CTUD)하기 위한 명령어

★제일 중요★

  • DML도 잘못 설계하면 시스템 성능을 저하시킨다
  • 예시: INSERT, UPDATE, DELETE

 

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

데이터의 보안, 수행제어, 사용자 권한 여부 등을 정의하기 위한 명령어

  • .SQLite는 파일로 DB가 관리되므로, 파일 접근 권한 등으로 처리 가능 → 지원 안되는 명령어가 존재
  • 예시: COMMIT, ROLLBACK, GRANT, REVOKE

 

 


<참고>

트랜젝션(Transaction)

  - 하나 이상의 SQL 문을 포함하는 논리적 작업 단위
  - 여러 SQL문이 한번에 성공해야 정상이고, 실패 시 모두 취소를 해야 데이터의 무결성이 보장됨
  - 정상적인 성공: Commit
  - 중간에 실패 → 전체 작업을 취소(undo)하는 과정을 롤백(rollback)이라고 한다.
  - 트랜젝션의 성질(ACID)
    - 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability)

'BackEnd > DB' 카테고리의 다른 글

[DB] DB의 관계 종류와 KEY  (0) 2023.10.23
[DB] DB의 종류 (관계형 / 비관계형)  (0) 2023.10.12
[DB] DB의 구성 요소  (0) 2023.10.10
[DB] DB 기초  (0) 2023.10.10