2021. 9. 7. 16:42ㆍOracle
Oracle 홈페이지에서 회원가입-expert 버전 다운로드.
Sql Developer 다운로드 후 압축 해제-구동.(GUI가 입혀진 편의성 좋은 개발자모드)
-계정 생성
SQL Plus 접속 후 ID : sys as sysdba 입력 후 초기 설정한 PW 치고 로그인.
교육 간에 필요한 계정: 4개
sys : 관리자
admin : 개발용. dba(database adminstarator(데이터베이스 관리자.))
hr : 자습서 실습용.
scott : 자습서 따라하기.
sys 계정으로 진입 후 alter session set "_ORACLE_SCRIPT"=true; 입력.
create user admin identified by 1234; = admin 계정 생성.
grant dba to admin;= admin 계정에 dba접속 권한 부여.
@?/demo/schema/human_resources/hr_main.sql = hr계정 활성화
1.비밀번호 : hr
2.저장공간 : users
3.임시 저장공간 : temp
4.로그 저장공간 : $ORACLE_HOME/demo/schema/log/
@(파일 경로)scott.sql = scott 계정 활성화.
sys as sysdba : dev1234
admin : 1234
hr : hr
scott: 1234;
다 지정하고 저장한후 sys계정으로 접속. alter user scott identified by 1234; 입력.
-데이터 베이스(DataBase)
기존의 파일시스템에서는 중복된 정보를 효율적으로 처리하는 것이 관점 분야였다. 이 중복을 피하여 정보를 일원화하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는 데이터의 집합을 유지하는 것을 데이터베이스라 한다.
관계형 데이터 베이스는 정보를 저장하기위한 구조를 위해 테이블을 사용한다.
1) SQL문을 이용하여 데이터 가져오기
DESC
- 테이블의 구조를 확인하기 위한 명령어이다
- SQL*PLUS 명령어 중 하나이다.
- 테이블의 컬럼 이름, 데이터형, 길이, NULL 허용 유무 등 특정 테이블의 정보를 제공한다.
scott 접속후 desc dept; 입력
SELECT
- 테이블에 저장된 데이터를 조회하기 위한 명령어이다.
- SQL문 중에 가장 많이 쓰인다.
- SELECT문에는 FROM 키워드가 반드시 따라와야 한다.
WHERE(조건절)
- WHERE 조건은 SELECT문에서 마지막에 쓸 수 있는데 원하는 레코드만 검색하고자 할 때 쓰인다.
산술 연산자
- SQL에서 산술 연산자를 사용하여 조회 가능하다.
논리 연산자
- 여러개의 조건을 조한해서 결과를 얻어야 할 경우 논리 연산자를 사용하면 된다.
- AND : 두 가지 조건을 모두 만족해야만 검색할 수 있다
- OR : 두 가지 조건 중에서 한 가지만 만족하더라도 검색할 수 있다.
- NOT : 조건에 만족하지 못하는 것만 검색할 수 있다.
BETWEEN AND 연산자
- BETWEEN
- 하나의 컴럼의 값이 범위 내에 속하는지 알아보기 위한 연산자이다.
- 숫자형, 문자형, 날짜형에 사용 가능하다.
LIKE 연산자와 와일드 카드
- LIKE
- 컬럼에 저장된 데이터의 시작 위치에 데이터가 일치하면 조회가 가능한 연산자이다.
- 검색하고자 하는 값을 전확히 모를 경우 와일드 카드와 함께 사용할 수 있다.
- %
- 특정 문자가 포함되기만 하고 그 이전이나 이후에 어떤 문자가 몇 개가 오든지 상관없다는 의미를 표현하기 위해서는 LIKE 연산자와 함께 사용한다.
- %
ESCAPE 옵션
- LIKE 연산자에서 사용하는 와일드 문자(%, _) 자체를 포함한 문자열을 검색할 때, 와일드 문자를 일반 문자처럼 취급하기 위한 옵션이다.
- 해당하는 와일드 문자 앞에 사용자가 원하는 한 글자를 적고 ESCAPE 옵션을 사용하여 해당 문자 뒤에 한 글자는 일반 문자 그대로 인식되도록 설정 되어있다.
NULL을 위한 연산자
- 오라클에서는 컬럼에 NULL값이 저장되는 것을 허용한다.
- NULL의 의미 : 미확정, 알 수 없는 값을 의미한다. 고로 연산, 할당, 비교가 불가능하다.
- EMP 테이블에 커미션(COMM)이 NULL인 레코드가 있다.
-오늘 배운 내용 종합.
desc dept;
--부서 테이블의 명세.
--컬럼 : 부서번호, 부서명, 위치.
--not null : null을 허용하지 않음.
--number(2) : 숫자 2자리 사용.
-- varchar2(14): 가변문자 2, 14자리 사용.
SELECT * FROM DEPT;
-- * 모두 다 선택, dept 테이블에서 보여줘.
SELECT * FROM EMP WHERE SAL > 3000;
--급여가 3000 초과인 사원을 모두 보여줘.
SELECT ENAME, SAL, SAL+100 FROM EMP;
--사원 테이블에서 사원명과 급여, 급여+100의 결과 표시.
SELECT * FROM EMP WHERE DEPTNO = 20;
--부서번호가 20번인 사원들을 모두 보여줘.
SELECT EMPNO, ENAME, SAL FROM EMP WHERE HIREDATE >= '1982/01/01';
-- 입사일이 1982/01/01 이후 입사자의 사원번호, 영문명, 급여를 표시.
-- 날짜를 자동인식 처리함.
SELECT EMPNO, DEPTNO, JOB FROM EMP WHERE DEPTNO = 10 AND JOB = 'MANAGER';
-- 사원 테이블에서 부서번호가 10 이고, 직무가 MANAGER인 사원들의 사원번호, 부서번호, 직무를 표시.
SELECT EMPNO, DEPTNO, JOB FROM EMP WHERE DEPTNO = 10 OR JOB = 'MANAGER';
SELECT EMPNO, DEPTNO, JOB FROM EMP WHERE NOT DEPTNO = 10;
--NOT은 부정, 반대되는 값 표시.
SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 3000;
-- BETWEEN A AND B, A~B 사이의 값을 표시.
SELECT * FROM EMP WHERE SAL NOT BETWEEN 2000 AND 3000;
-- NOT BETWEEN A AND B, A미만 B 초과 값을 표시.
SELECT * FROM EMP WHERE COMM IN (300, 500, 1400);
-- IN 은 OR 을 여러개 사용한 모습.
SELECT * FROM EMP WHERE ENAME LIKE 'F%';
--사원 테이블에서 영문명이 F로 시작하는 사원 표시.
SELECT * FROM EMP WHERE ENAME LIKE '%A%';
--이름에 A가 들어간 사람을 찾아라.
SELECT * FROM EMP WHERE ENAME LIKE '%N';
--이름에 마지막 글자가 N인 사람 찾기.
SELECT * FROM EMP WHERE ENAME LIKE '_A%';
--언더바는 한글자와 대응, 즉 2번째 글자가 A인 사원 찾기.
SELECT * FROM EMP WHERE ENAME LIKE '%\%%' ESCAPE '\';
--ESCAPE 문자는 특수한 의미로 사용되는 문자가 아닌 일반 문자를 표시하고자 할때.
SELECT ENAME, JOB, COMM FROM EMP WHERE COMM IS NULL;
--커미션이 없는 사원 찾기.
SELECT ENAME, JOB COMM FROM EMP WHERE COMM IS NOT NULL;
--커미션이 있는 사원 찾기.
'Oracle' 카테고리의 다른 글
Oracle 5일차. (0) | 2021.09.13 |
---|---|
Oracle 4일차. (0) | 2021.09.10 |
Oracle 예제3. (0) | 2021.09.09 |
Oracle 3일차. (0) | 2021.09.09 |
Oracle 2일차 (0) | 2021.09.08 |