컴퓨터/데이터베이스

[데이터 베이스]SQL & Query

sidedoor 2024. 1. 25. 23:27

SQL(Structured Query Language)은 구조화된 쿼리 언어로 데이터베이스와 상호작용하기 위한 프로그래밍 언어이다.

SQL은 데이터 조회, 추가, 수정, 삭제 등 데이터를 관리하고 조작하는 데 필수적인 역할을 한다.

SQL의 특징과 기능은 다음과 같다.

  1. 데이터 정의 언어 (DDL - Data Definition Language)
     - CREATE: 새로운 테이블이나 데이터베이스를 생성한다.
     - ALTER: 기존의 데이터베이스 구조를 수정한다.
     - DROP: 테이블, 뷰와 같은 데이터베이스 객체를 삭제한다.

  2. 데이터 조작 언어 (DML - Data Manipulation Language)  
     - SELECT: 데이터베이스에서 특정 데이터를 조회한다.
     - INSERT: 테이블에 새로운 데이터 행을 추가한다.
     - UPDATE: 테이블의 데이터를 수정한다.
     - DELETE: 테이블의 데이터를 삭제한다.

  3. 데이터 제어 언어 (DCL - Data Control Language) 
     - GRANT: 사용자에게 데이터베이스 권한을 부여한다.
     - REVOKE: 사용자의 데이터베이스 권한을 취소한다.

  4. 트랜잭션 제어 언어 (TCL - Transaction Control Language)
     - COMMIT: 모든 변경사항을 데이터베이스에 영구적으로 저장한다.
     - ROLLBACK: 트랜잭션 이전 상태로 되돌린다.
     - SAVEPOINT: 트랜잭션 내에서 롤백할 지점을 설정한다.

SQL은 관계형 데이터베이스 모델에 기반하여 데이터를 테이블 형식으로 저장하고 관리하는데, 테이블은 행과 열로 구성되어 있으며, 각 행은 고유한 데이터 레코드를 나타내고, 열은 레코드의 속성을 나타낸다.

SQL을 사용하면 복잡한 쿼리를 작성하여 데이터베이스 내에서 데이터 간의 관계를 탐색하고 분석할 수 있다.

쿼리(Query)

쿼리란 데이터베이스에 저장된 데이터를 검색하거나 조작하기 위해 작성되는 명령문 또는 코드로 데이터베이스에 정보를 요청하는 것을 말한다.

쿼리는 SQL를 사용하여 데이터베이스에 대한 쿼리를 작성하여 데이터베이스에서 정보를 찾거나 데이터를 업데이트하고 관리하는 데 중요한 도구이다.

쿼리의 특성과 기능은 다음과 같다.

  1. 데이터 검색
    데이터베이스에서 특정 조건에 맞는 데이터를 찾기 위해 사용한다.
    만약 SELECT name, email FROM customers;같이 쿼리를 짜면 모든 고객의 이름과 이메일 주소를 보여주는 요청을 실행한다.
  2. 데이터 조작 
     - Insert: 새로운 데이터를 테이블에 추가한다.
     - Update: 기존 데이터를 수정한다.
     - Delete: 테이블에서 데이터를 삭제한다.

  3. 조건과 필터
    특정 조건을 만족하는 데이터만을 검색하거나 조작하기 위해 사용한다.
    예를들어 특정 나이 이상의 고객만 조회하고 싶을 때 SELECT * FROM customers WHERE age > 30;와 같이 작성한다.

  4. 복합 쿼리
    여러 테이블에서 데이터를 결합하거나 복잡한 조건을 사용하여 데이터를 검색한다.
     - Join: 두 개 이상의 테이블을 연결하여 데이터를 결합하는 데 사용된다.
     - Subquery: 하나의 SQL 쿼리 안에 포함된 또 다른 SQL 쿼리로 복잡한 데이터 연산이나 조건을 적용할 수 있다.

  5. 집계 함수
    평균, 최대값, 최소값과 같은 데이터의 집합에 대해 계산을 수행한다.
  6. 정렬과 그룹화 (Order By, Group By)
    결과 데이터의 순서를 정렬하거나, 특정 기준에 따라 데이터를 그룹화한다.