2 분 소요

데이터베이스(Data Base)

  • 체계화된 데이터의 모임
  • 여러 사람이 공유하여 사용할 목적으로 통합 , 관리하는 데이터의 집합

DBMS(DataBase Management System)

  • 데이터베이스를 관리하는 시스템
  • 데이터를 효과적으로 이용하도록 정리, 보관하는 기본 소프트웨어
  • 데이터 추가, 조회, 수정, 삭제 등 기능을 집대성한 소프트웨어 패키지
  • 기능
    • 데이터베이스를 구축하는 틀을 제공
    • 효율적으로 데이터를 검색하고 저장하는 기능
    • 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스 제공
    • 장애에 대한 복구, 보안 유지 기능 제공
  • 종류
    • Oracle, MySQL, Microsoft SQL, Server,PostgreSQL, MongoDB, IBM DB2 등

DBMS 위치

image-20240710115001287

SELECT 명령문

[형식]
SELECT 컬럼명 From 테이블명;
SELECT DEPTNO,DNAME,LOC FROM DEPT;

DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
  • CRUD

    SELECT, INSERT, DELETE, UPDATE

SQL

SQL(Structured Query Language (구조적인 질의어))

DDL

  • DDL(Data Definition Language)

    데이터 정의어로 데이터 베이스 관리자나 응용프로그래머가 데이터베이스의 논리적인 구조를 정의하기 위한 언어이다.

    객체(table,view, trigger)에 대한 정의를 한다.

    명령어: CREATE, DROP, ALTER, RENAME, TRUNCATE

    DDL은 autocommit이다.

DML⭐

  • DML(Data Manipulation Language)

    데이터 조작어로 데이터베이스에 저장된 데이터를 조작(추가, 삭제, 수정)하기 위해 사용하는 언어이다.

    명령어: INSERT, DELETE, UPDATE, SELECT

    INSERT

    insert into 테이블명 [(컬럼명1, 컬럼명2)] values (데이터1, 데이터2);
    insert into 테이블명 [(컬럼명1, 컬럼명2)] values (데이터1, 데이터2),(데이터1, 데이터2);

    DELETE

    delete from 테이블명 where 조건식;

    UPDATE

    update 테이블명 set 컬럼명1=변경데이터1, 컬럼명2=변경데이터2 where 조건식;

DCL

  • DCL(Data Control Language)

    데이터 제어어로 데이터베이스에 대한 접근 권한 부여등의 데이터베이스 시스템의 관리를 목적으로 사용되는 언어이다.

    명령어: GRANT(권한부여), REVOKE(권환회수)

DQL

  • DQL(Data Query Language)

    데이터 질의어라고하며 검색, 조회 명령어이다.

    명령어: SELECT

TCL

  • TCL(Transaction Control Language)

    트랜잭션 제어어로 논리적인 (DML) 작업단위의 묶음이다.

    명령어: COMMIT,ROLLBACK, SAVEPOINT

  • 데이터베이스에 저장된 데이터에 대한 검색(조회)

    SELECT 컬럼명 FROM 테이블명;
    

    image-20240710142736567

  • 테이블 내의 데이터를 검색

    SELECT 컬럼명1, 컬럼명2 FROM 테이블명;

  • dual=> 더미테이블 특정한 테이블을 사용하지 않을 때 from dual을 사용한다.

  • MySQL은 문자, 문자열 데이터를 표현할 때 작은 따옴표, 큰 따옴표를 사용

    ➡️ 작은 따옴표 권장

  • 별칭 사용하기

    SELECT 컬럼명 AS 별명 FROM 테이블명;

    여기서 AS는 생략 할 수 있다.

트랜잭션(Transaction)

  • 데이터 처리의 한 단위
  • DB에서 발생하는 여러 개의 SQL 명령문(DML)들을 하나의 논리적인 작업단위로 처리
  • 하나의 트랜잭션은 All-or-Nothing방식으로 처리

  • 목적

    데이터의 일관성을 유지하면서 안정적으로 데이터를 복구

  • 명령어

    COMMIT ROLLBACK SAVEPOINT

IN 연산자

컬럼명 IN (value_list)

➡️ 컬럼의 값이 value_list에 데이터와 하나라도 일치한다면!(OR 연산자 유사)

문제)

커미션을 300, 500, 1400 받는 사원의 정보(사원번호, 사원명, 부서번호, 커미션)를 출력하시오

NOT 연산자

조건에 만족하지 못하는 행을 검색

위치: 조건식 앞에 사용, in, like, between 앞에 사용, null앞에 사용

그룹함수⭐집계함수

  • 전체데이터를 그룹별로 구분하여 통계적인 결과를 구하기 위해 사용
  • 결과값은 항상 단행
  • 그룹함수와 단순컬럼은 함께 사용하는 것이 불가능
    • 만약 그룹함수와 함께 사용하고자하는 컬럼이 그룹으로 묶여질 수 있다면 group by 절과 함께 사용하는 것이 가능
  • NULL은 결과값에서 제외

종류

SUM(총합), AVG(평균), COUNT(행갯수), MIN(최소값), MAX(최대값)

형식

그룹함수명(컬럼명)

count를 사용할 떄 값이 null인경우는 count하지 않아서 구분할 수 있는 칼럼을 넣어줘야한다.

➡️서로 다른 행을 구분할 수 있는(중복되지 않는) primary key를 넣어준다. not null과 uniqe 속성을 동시에 가지고있는다.

만약 전체 행의 갯수를 알고 싶은데 테이블명만 안다면

select count(*) from 테이블명;을 하면 나온다.

업데이트:

댓글남기기