Basic/Database

[데이터베이스]SQL

코딩공대 2022. 11. 30. 09:57
728x90

1. SQL(Structured Query Language)

구조화된 Query 언어이다.
데이터베이스용 프로그래밍 언어 이다.
데이터베이스에 Query를 보내 원하는 데이터만 뽑아올 수 있다.

 

Query란?

  • 질의문
  • 검색창에 적는 검색어도 Query의 일종
  • 저장되어있는 정보를 필터 하기 위한 질문

SQL 사용에 필요한 기본 문법

  • Select : 데이터셋에 포함될 특성을 특정한다.
  • From : 테이블과 관련한 작업을 할 경우 사용한다.
  • Where : 필터 역할을 하는 쿼리문, 선택적으로 사용가능하다.
    • Where 특성_1 = "특정 값" : 특정 값과 동일한 데이터 찾기
    • Where 특성_1 <> "특정 값" : 특정 값을 제외한 값 찾기
    • Where 특성_1 >, <, <=, >= "특정 값" : 특정 값보다 크거나 작은 데티어 필터 할때 사용
    • Where 특성_2 Like "%특정 문자열%" : 특정 값과 비슷한 값들을 필터할 때 사용 ( |%, |*도 사용한다.)
    • Where 특성_2 In ("특정값_1", "특정값_2") : 리스트의 값들과 일치하는 데이터를 필터할 때 사용
    • Where 특성_1 Is NULL : 값이 없는 경우 'NULL'을 찾을 때 'IS'와 같이 사용
    • Where 특성_1 Is NOT NULL : 값이 없는 경우를 제외할 때에 사용
  • And, Or, Not
  • Order By : 오름차순 정리할 때 사용한다. (내림차순 정리는 ORDER BY 특성_1 DESC로 사용)
  • Limit : 결과로 출력할 데이터의 갯수를 정할 수 있다.
  • Distinct : 유니크한 값을 받고 싶을 때 사용
  • Insert Into
  • Null Values
  • Update
  • Delete
  • Count
  • Like
  • Wildcards
  • Aliases
  • Inner Join : 둘 이상의 테이블을 서로 공통된 부분을 기준으로 연결(JOIN 테이블_2 ON 테이블_1.특성_A = 테이블_2.특성_B)
  •  Outer Join 
    • Left Outer Join 테이블_2 On 테이블_1.특성_A = 테이블_2.특성_B : Left Inclusive를 실행한다.
    • Right Outer Join 테이블_2 On 테이블_1.특성_A = 테이블_2.특성_B : Right Inclusive를 실행한다.
  • Group By

데이터베이스 관련 용어

  • SQL Create DB : 데이터베이스 생성
  • SQL Drop DB
  • SQL Create Table : 테이블 생성
  • SQL Drop Table
  • SQL Alter Table
  • SQL Not Null
  • SQL Unique
  • SQL Primary Key
  • SQL Foreign Key
  • SQL Default
  • SQL Auto Increment
  • SQL Dates

2. 트랜잭션(Transaction)

여러 개의 작업을 하나로 묶은 실행 유닛
예를들어, 나의 계좌에서 다른사람 계좌로 이체히는 경우 나의 계좌에서는 돈이 나가고 상대방은 돈이 들어오게 하는 것

ACID

  • Atomicity : 하나의 트랜젝션 내에서 모든 연산이 성공이거나 모두 실패한다.
  • Consistency : 데이터베이스가 일관성을 유지해야 한다.
  • Isolation : 각각의 트랜젝션은 독립적이다. 서로의 연산에 영향을 줄 수 없다.
  • Durability : 하나의 성공된 트랜젝션에 대한 로그가 기록되고 영구적으로 남는다.