CloudOps Chronicles

DB/SQL 본문

SQL

DB/SQL

쿠르미 2022. 8. 30. 17:41

Date Base

데이터 베이스는 대이터의 집합이자 동시에 접근 가능해야 한다.

 

DBMS

data base management system

데이터 베이스는 관리 운영하는 역할

 

특징

  • 데이터의 무결성 : 제약조건이라는 특성을 가짐
  • 데이터의 독립성 : 변경시 기존에 작성된 프로그램은 영향을 받지 않는다.
  • 보안 : 접근이 허가된 사람만 접근할 수 있어야 한다.
  • 데이터 중복의 최소화 
  • 안정성 향상 : 백업,복원 기능 이용

SQL

관계형 데이터베이스에서 사용되는 언어 

이식성이 좋다, 대화식 언어이다.

 

데이터 : 단편적인 정보

테이블 : 표 형태로 표현한 것

데이터 베이스: 테이블이 저장되는 저장소

DBMS: 데이터 베이스를 관리하는 시스템

 

기본 키

  • 기본 키 열은 각 행을 구분하는 유일한 열
  • 중복되어서는 안되며, 비어있어도 안됨 
  • 각 테이블은 키본키가 하나씩만 지정

외래 키

  • 두 테이블의 관계를 맺어주는 키

SQL

  • 구조화된 질의 언어
  • 사람과 DBMS가 소통하기 위한 말

DML(데이터 조작어) : SELECT , INSERT, DELETE, UPDATE 

DDL(데이터 정의어) : CREATE, ALTER, DROP

DCL(데이터 제어어) : GRANT, REVOKE

TCL(트랜젝션 제어어): COMMIT, ROLLBACK

뷰(View)

가상의 테이블

스토어드 프로시저 

SQL문을 하나로 묶어 편리하게 사용하는 기능

트리거 

테이블에 부탁되어 테이블에 INSERT 나 UPDATE또는 DELETE 작업이 발생되면 실행되는 코드

 

Syntax

 

데이터 불러오기 

SELECT <열 이름>  

FROM <테이블 명>

WHERE 조건 절

모든 데이터를 출력하고 싶을 땐 <열 이름>대신 *   'SELECT *'

 

테이블 삭제

DROP TABLE <테이블 이름>

 

원하는 순서대로 정렬하여 출력

ORDER BY

결과물에 대해 영향을 미치지는 않고 출력되는 순서를 조절하는 구문

기본적으로 오름차순 정렬 ASC(생략가능)

내림 차순으로 정렬하려면 열 이름 뒤에 DECS

키가 큰 순서로 정렬하되 만약 키가 같을 경우 이름 순으로 정렬

 

SELECT name, height

FROM usertbl

ORDER BY height DECS, name;

 

DISTINCT

중복을 제거

 

LIMIT

출력하는 개수를 제한

 

GROUP BY 절

그룹으로 묶어주는 역할

집계함수와 함께 사용

 

집계합수

AVG() 평균
MIN() 최소값
MAX() 최대값
COUNT() 행의 개수를 센다
COUNT(DISTINCT) 행의 개수를 센다(중복은1개만 인정)
STDEV() 표준편차
VAR_SAMP() 분산

HAVING 절

Having 절은 꼭 group by 절 다음에 나와야 함(순서 바뀌면 안됨)

Comments