컴퓨터/데이터베이스
[데이터 베이스]SQL & Query
sidedoor
2024. 1. 25. 23:27
SQL(Structured Query Language)은 구조화된 쿼리 언어로 데이터베이스와 상호작용하기 위한 프로그래밍 언어이다.
SQL은 데이터 조회, 추가, 수정, 삭제 등 데이터를 관리하고 조작하는 데 필수적인 역할을 한다.
SQL의 특징과 기능은 다음과 같다.
- 데이터 정의 언어 (DDL - Data Definition Language)
- CREATE: 새로운 테이블이나 데이터베이스를 생성한다.
- ALTER: 기존의 데이터베이스 구조를 수정한다.
- DROP: 테이블, 뷰와 같은 데이터베이스 객체를 삭제한다. - 데이터 조작 언어 (DML - Data Manipulation Language)
- SELECT: 데이터베이스에서 특정 데이터를 조회한다.
- INSERT: 테이블에 새로운 데이터 행을 추가한다.
- UPDATE: 테이블의 데이터를 수정한다.
- DELETE: 테이블의 데이터를 삭제한다. - 데이터 제어 언어 (DCL - Data Control Language)
- GRANT: 사용자에게 데이터베이스 권한을 부여한다.
- REVOKE: 사용자의 데이터베이스 권한을 취소한다. - 트랜잭션 제어 언어 (TCL - Transaction Control Language)
- COMMIT: 모든 변경사항을 데이터베이스에 영구적으로 저장한다.
- ROLLBACK: 트랜잭션 이전 상태로 되돌린다.
- SAVEPOINT: 트랜잭션 내에서 롤백할 지점을 설정한다.
SQL은 관계형 데이터베이스 모델에 기반하여 데이터를 테이블 형식으로 저장하고 관리하는데, 테이블은 행과 열로 구성되어 있으며, 각 행은 고유한 데이터 레코드를 나타내고, 열은 레코드의 속성을 나타낸다.
SQL을 사용하면 복잡한 쿼리를 작성하여 데이터베이스 내에서 데이터 간의 관계를 탐색하고 분석할 수 있다.
쿼리(Query)
쿼리란 데이터베이스에 저장된 데이터를 검색하거나 조작하기 위해 작성되는 명령문 또는 코드로 데이터베이스에 정보를 요청하는 것을 말한다.
쿼리는 SQL를 사용하여 데이터베이스에 대한 쿼리를 작성하여 데이터베이스에서 정보를 찾거나 데이터를 업데이트하고 관리하는 데 중요한 도구이다.
쿼리의 특성과 기능은 다음과 같다.
- 데이터 검색
데이터베이스에서 특정 조건에 맞는 데이터를 찾기 위해 사용한다.
만약 SELECT name, email FROM customers;같이 쿼리를 짜면 모든 고객의 이름과 이메일 주소를 보여주는 요청을 실행한다. - 데이터 조작
- Insert: 새로운 데이터를 테이블에 추가한다.
- Update: 기존 데이터를 수정한다.
- Delete: 테이블에서 데이터를 삭제한다. - 조건과 필터
특정 조건을 만족하는 데이터만을 검색하거나 조작하기 위해 사용한다.
예를들어 특정 나이 이상의 고객만 조회하고 싶을 때 SELECT * FROM customers WHERE age > 30;와 같이 작성한다. - 복합 쿼리
여러 테이블에서 데이터를 결합하거나 복잡한 조건을 사용하여 데이터를 검색한다.
- Join: 두 개 이상의 테이블을 연결하여 데이터를 결합하는 데 사용된다.
- Subquery: 하나의 SQL 쿼리 안에 포함된 또 다른 SQL 쿼리로 복잡한 데이터 연산이나 조건을 적용할 수 있다. - 집계 함수
평균, 최대값, 최소값과 같은 데이터의 집합에 대해 계산을 수행한다. - 정렬과 그룹화 (Order By, Group By)
결과 데이터의 순서를 정렬하거나, 특정 기준에 따라 데이터를 그룹화한다.