SQL

BuZZLightyear·2023년 3월 28일
0

정리

목록 보기
41/47

SQL은 Structured Query Language 의 약자로 주로 관계형 데이터베이스에서 사용하는 언어이다.
SQL은 구조와 된 쿼리 언어이다.
여기서 쿼리(query)는 질의문 이라는 뜻을 가지고 있다고 본다. 간단하게 저장된 데이터를 필터하기 위한 질의문이라고 생각하면 된다.

SQL의 기본 쿼리문

SQL을 사용하기에 필요한 기본 문법들을 정리해 보았다.

CREATE DATABASE 데이터베이스이름 - 데이버베이스 생성
USE 데이터베이스이름 - 데이터베이스 사용
SELECT - 데이터 셋에 포함될 특성을 특정함
FROM 테이블이름 - 어떤 테이블을 사용할 것인지 고름
WHERE - 필터역할을 하는 쿼리문(조건을 달아줄때 사용)
특정값과 동일할 때 = , 특정 값을 제외할 때 <> , 특정 값보다 초과,미만,이상,이하 일 떄 <,>,<=,>= 사용
WHERE 특성 LIKE %특정 문자열% = 문자열에서 특정 값과 비슷한 값들을 필터할 때
WHERE 특성 IS NULL = 값이 없을 때 NULL을 찾는 경우
WHERE 특성 IS NOT NULL = 값이 없는 경우를 제외할 때 NOT 추가
ORDER BY 특성 = 돌려받는 데이터를 어떤 기준으로 정렬해서 출력할지 결정 (기본정렬은 오름차순)
ORDER BY 특성 DESC = 내림차순 정렬
LIMIT 결과로 출력할 데이터의 개수 지정 항상 쿼리문 가장 마지막에 추가해야함
SELECT DISTINCT 특성 = 유니크한 값을 받고 싶을 때
INNER JOIN = 둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결
INNER JOIN 테이블 2 ON 테이블 1 .특성A = 테이블2.특성B
OUTER JOIN = LEFT JOIN - 테이블1전부와 테이블2 겹치는곳까지, RIGHT JOIN 테이블2 전부와 테이블1 겹치는곳 까지
Alias = 별칭 , 이름을 바꿔줌
BETWEEN A AND B = A와 B의 사이값의 모든 레코드를 출력

트랜잭션

여러개의 작업을 하나로 묶은 실행 유닛이며 각 트랜잭션은 묶여있는 모든 작업을 완료해야 정상적으로 종료한다. 여러작업 중 하나의 작업이라도 실패하면 이 트랜잭션에 속한 모든 작업을 실패한 것으로 판단한다. 간단하게 하나라도 실패하면 실패고 모두 성공해야 성공이다.

ACID

트랜잭션은 ACID 라는 특성을 가지고있다.

Atomicity(원자성) - 전부성공하거나 전부실패해서 결과를 예측할 수 있어야함.

Ex) A계좌에서 B계좌로 돈을 보내면 A계좌는 보낸 액수만큼 마이너스 해야하고 B계좌는 플러스를 해야한다 그런데 이때 A계좌에서 돈은 빠졌지만 B계좌로 입금이 안되었을 때 A계좌에서 돈을 빠지는 것부터 실패로 처리 하게해서 원래의 데이터를 보존하게 하는 것이다.

Consistency(일관성) 하나의 트랜잭션 이전과 이후의 데이터베이스의 상태가 같아야 함.

Ex) 모든 고객은 이름을 가지고 있어야하는 데이터 베이스의 제약있을때 이름없는 고객을 추가하는 쿼리나 기존 고객의 이름을 삭제하는 쿼리는 일관성을 위반한다.

Isolation(독립성) - 모든 트랜잭션은 다른 트랜잭션으로 부터 독립 되야한다.

Durability(지속성) - 트랜잭션이 런타임오류나, 시스템 오류가 발생해서 종료 되더라도 해당 기록은 영구적이여함.

Ex) 계좌이체를 하는도중 오류가 발생하여서 종료되어도 해당 이체 내역은 실패로 돌아가고 계좌들은 계좌이체 이전의 상태로 돌아감.

profile
버즈라이트이어

0개의 댓글