DB 2023.3.21

문우림·2023년 3월 21일
0

DB

목록 보기
1/6
post-thumbnail

1. DB

DB : Data Base

  • 의미가 있는 정보를 가진 데이터의 집합.
  • 저장할 가치가 있는 데이터.
  • 데이터의 저장소

1-1. DBMS(Data base Management System)

  • 데이터 베이스 관리 시스템
  • 데이터 베이스를 운영하고 관리하는 소프트웨어
  • 테이블로 구성된 관계형 DBMS형태로 사용된다.
  • DB는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야한다.

DBMS종류

오라클

  • 래리 엘리슨 설립
  • 자바의 라이센스를 가지고있다.
  • 은행권, Sammgsung, Naver, kakao등

📌소프트웨어 회사 순위
1위 : MS 2위 : 오라클 3위 : S.A.P(독일)-ERP(더존)

  • 오라클(Oracle), MYSQL

📌데이터 저장하는 방법

  • RDBMS(RelationDBMS) = 관계형 데이터 베이스 관리 시스템(소프트웨어)
  • 관계형 데이터 베이스는 정보를 저장하기위한 구조를 위해 데이블을 사용한다.

  • 関連のある属性を列とする表(テーブル)の形でデータを格納し、行単位でデータを操作するデータベースのこと。

2. SQL

  • 관계형 데이터 베이스에서 사용되는 언어.
select * from dept;
select * from emp;
select * from salgrade;
--where조건은 select문에서 마지막에 쓸 수 있는데 원하는 레코드만 검색하고자 할 때 쓰인다.
select * from emp where sal > 3000;
select * from emp where sal > 500;

select * from emp where deptno = 20; --SQUL에서 같다 표시는 =(이콜)하나
select * from emp where deptno = 10;
--비교연산자를 사용 부서번호 10이상인 사람을 출력
select * from emp where deptno >= 10;

--이름(ENAME)이 FORD인 사람의 사번, 이름, 급여를 출력하는 쿼리문
select empno, ename, sal from emp where ename = 'FORD';

--이름이 SMITH인 사람의 급여를 출력
select sal from emp where ename = 'SMITH';
  • 컬럼의 데이터는 각각 데이터 타입이 정해져있다. 문자 숫자 날짜
    ex) 부서는 숫자, 사원 이름은 문자열 등
--데이터 구조를 확인하기 위한 명령어
desc emp; --description약자
desc dept;

--1982년1월1일 이후에 입사한 사원을 출력하는 쿼리문
select * from emp where hiredate >= '1982/01/01'; --날짜 -> 기본형이 ' / ' /로 데이터 타입을 인식한다. 1982-01-01, 82/01/01, 1982.01.01도 인식 가능 

--1981년 1월 1일 이후에 입사한 사원을 출력
select * from emp where hiredate >= '1981/01/01';

--10번 부서이고 JOB이 메니저인 사람
select * from emp where deptno = 10 and job = 'MANAGER'; --조건 두개이상일 때는 and로 조건 걸어주기

--saldl 1000이상이고 JOB이 메니저인 사람
select * from emp where sal > 1000 and job = 'MANAGER';

--10번 부서가 아닌 사람 
select * from emp where deptno != 10;
--방법2
select * from emp where deptno <> 10;
--방법3(good)
select * from emp where not deptno = 10;

--급여가 2000~3000사이의 사원을 겁색하는 쿼리문
select * from emp where sal >=2000 and sal <= 3000;
--방법2(good)
select * from emp where sal between 2000 and 3000;

--급여가 2000미만이거나 3000초과 사원을 겁색하는 쿼리문
select * from emp where sal < 2000 or sal > 3000;
--방법2(good)
select * from emp where sal not between 2000 and 3000;

--1981년에 입사한 사원을 출력
select * from emp where hiredate between '1981/01/01' and '1981/12/31';

--부서번호가 10번 또는 20번인 사원
SELECT * FROM EMP WHERE DEPTNO =10 OR DEPTNO = 20;
--JOB이 CLERK또는 MANAGER인 사원
SELECT * FROM EMP WHERE JOB = 'CLERK' OR JOB = 'MANAGER';

--커미션이(COMM)이 300또는 500또는 1400인 사원이 있는지 검색하는 쿼리문
SELECT * FROM EMP WHERE COMM = 300 OR COMM = 500 OR COMM = 1400;
--방법(good)
SELECT * FROM EMP WHERE COMM IN (300, 500, 1400); --IN(또는) = OR 3개이상 검색할 때는 IN
--커미션이(COMM)이 300또는 500또는 1400이아닌 사원을 검색하는 쿼리문
SELECT * FROM EMP WHERE COMM NOT IN(300, 500, 1400);

2-1. 테이블 컬럼 데이터 타입 확인 하는 쿼리는?

desc(description) 테이블명

  • 테이블의 구조(컬럼의 이름, 데이터 타입)을 확인할 수 있다.

0개의 댓글