오라클 23

오라클 SQL- Data Pump를 이용하여 External table과 Dump파일 만들기

Data Pump 란? - 바이너리 형식으로 구성됨 - write, read 둘다 할 수 있음 (oracle loader은 read만 할 수 있다.) - 서브쿼리절을 기반으로 extnal 테이블을 생성하고 dump파일에 데이터를 넣고 다시 읽어들인다. - external 테이블을 조회하면 location에 있는 dump파일을 엑세스하는것이다. - external 테이블을 drop하면 스토리지가 없기때문에 flashback할 수 없다. - 때문에 실수로 drop할때를 대비해서 작성한 코드를 백업해두자! Data Pump를 이용하여 External table과 Dump파일 만들기 1) 오라클 SQL Developer에서 HR SESSION을 연다. 2) 디렉토리를 확인한다. > select * from al..

카테고리 없음 2020.02.12

오라클 SQL - CMD에서 CSV파일 만들기

현장에서 오라클 SQL Developer가 없다면 어떻게 csv파일을 만들어야 할까? CMD 창에서 csv파일을 생성하는 방법을 알아보자. 1) CMD창을 열고 지정한 물리 디렉토리로 들어간다. 2) 디렉토리에서 SQLPlus로 접속한다. 3) 메모장을 열어서 스크립트를 만든다. [스크립트 설명] set pagesize 0 -----> 컬럼 이름을 쓰지 않는다. set linesize 200 -----> 오른쪽 여백을 200자까지만 놔두고 자른다. set echo off ---------> 컬럼이름, sql문장 빼고 데이터만 export받는다. set termout off ------> 스크립트를 다 실행시켜도 화면상에 아무것도 출력하지 않는다. set trimspool on -----> linesize..

인공지능/SQL 2020.02.12

오라클 SQL - External Table 연습

External Table : data를 database 바깥쪽(OS)에 두고 마치 database에 저장된 data처럼 다루는 기능 1. 디렉토리 설정 { SYS SESSION } 1) 논리적인 디렉토리 생성 - SYS SESSION에서만 가능 물리적인 디렉토리 : C:\Data\ 논리적인 디렉토리 : data_dir # 논리적인 디렉토리 만들기 create directory data_dir as 'C:\Data\'; select * from dba_directories; --확인 # 디렉토리 삭제하려면drop directory data_dir; 2) 논리적 디렉토리를 사용할 수 있는 권한 부여 # 권한 부여하기 grant read, write on directory data_dir to hr; sel..

인공지능/SQL 2020.02.11

다중 테이블 INSERT

1. 무조건 insert all # 기존코드 # 테이블 만들기 (sal_history, mgr_history) / 테이블의 뼈대만 만들어 놓는다. create table sal_history as select employee_id, hire_date, salary from employees where 1 = 2; create table mgr_history as select employee_id, manager_id, salary from employees where 1 = 2; # 만들어진 테이블 뼈대 안에 데이터를 집어넣는다. insert into sal_history select employee_id, hire_date, salary from employees; insert into mgr_hist..

인공지능/SQL 2020.02.11

제약조건 : Primary, Foreign, Unique, Check, Not null Key

제약조건을 쓰는 이유 : 데이터의 품질을 좋게 만들기 위해 데이터의 규칙성을 만듬 1. Primary key 테이블 대표키 유일키 값, null값 허용할수없도록 자동으로 unique index 생성 테이블 하나만 생성 alter table emp add primary key; --> 제약조건 이름을 적지 않았기 때문에 제약조건 이름이 자동으로 sys_c숫자로 쓰여짐 alter table emp add constraint emp_id_pk primary key(id); --> 이렇게 제약조건 이름을 꼭 쓰자 2. Foreign key (= 외래키, 참조무결성) 동일한 테이블이나 다른 테이블의 primary key, unique key를 참조한다. null허용, 중복값 허용 참조하는 키값만 입력/수정해야 한..

인공지능/SQL 2020.02.10

오라클 SQL JOIN문 정리

JOIN select의 기능 세가지 중 하나 (열단위추출, 행단위추출, join) 두개 이상의 테이블에서 데이터를 가져오는 방법 join을 하면 결과 맞는지 꼭 확인하자 / 카티시안(cartesian)곱 발생 1. cartesian product - 조인 조건이 생략된 경우 - 조인 조건이 잘못만든 경우 - 첫번째 테이블 모든 행이 두번째 테이블 모든 행에 조인된다.(첫번째 X 두번째 => 카티시안곱) select employee_id, department_name from employees, departments; 위를 실행하면 데이터가 계속 나옴(m쪽집합의 개수만큼만 나오면 됨) 2. equi join (= 등가조인, inner join, simple join) - 키값이 일치가 되는지 확인하고 조인..

인공지능/SQL 2020.01.30

오라클 SQL 함수 정리 - ⑥ 그룹 함수

6. 그룹 함수 그룹함수는 null을 포함하지 않는다(count(*)빼고) 1) count : 행의 수를 구하는 함수 select count(*) -> null을 포함한 행수가 구해짐 from employees where department_id = 30; 2) max : 최대값 (날짜에서는 최근을 의미함/알파벳순가나다순(Z->A)) 3) min : 최소값 (날짜에서는 과거/알파벳순가나다순(A->Z)) select max(salary), min(salary), max(hire_date), min(hire_date), max(last_name), min(last_name) from employees; 4) sum : 합 (무조건 숫자형만 가능) select sum(salary) from employees ..

인공지능/SQL 2020.01.28

오라클 SQL 함수 정리 - ⑤ 일반 함수

5. 일반 함수 1) nvl : null 값을 실제값으로 대체하는 함수 / nvl( , )안의 값은 둘이 형이 맞아야함 nvl(기준값, 대체값) select salary, commission_pct, salary * 12 + nvl(commission_pct, 0) from employees; 2) nvl2 : null값을 실제값으로 대체하는 함수 nvl2(기준값, null이 아니면 2번째 수행할 연산, 기준값이 null이면 수행할 연산) select salary, nvl2(commission_pct, salary * 12 + commission_pct, salary * 12) from employees; 3) coalesce : null값이 안나오도록 계속 수행/ null이 나오면 다음 인수를 계산 /..

인공지능/SQL 2020.01.28

오라클 SQL 함수 정리 - ③ 날짜 함수, ④ 형변환 함수

3. 날짜 함수 1) sysdate : 서버 시간 / 날짜는 os가 가지고 있어서 sysdate라는 메소드는 서버에 대한 시간임 select sysdate + 100 from dual; 2) months_between : 두 날짜간의 달수를 리턴하는 함수 months_between(최근날짜, 과거날짜) select floor(months_between(sysdate, hire_date)) as date from employees; 3) add_months : 달수를 더하거나 빼는 함수 select sysdate, add_months(sysdate, 1), add_months(sysdate, -1) date from dual; 4) next_day : 입력한 날짜를 기준으로 찾고자하는 요일의 첫번째 일자를..

인공지능/SQL 2020.01.28

오라클 SQL 함수 정리 - ② 숫자 함수

2. 숫자 함수 1) round : 지정된 소수점 자릿수로 값을 반올림한다. round(소수, 반올림할 자릿수) select round(45.926, 2), round(45.926, 1), round(45.926, 0), round(45.926, -1), round(45.926, -2) from dual; 2) trunc : 지정된 소수점 자릿수로 값을 지운다. trunc(소수, 지울 자릿수) select trunc(45.925, 2), trunc(45.925, 1), trunc(45.925, 0), trunc(45.925, -1), trunc(45.925, 2) from dual; 3) ceil : 숫자값을 가장 큰 정수로 반환하는 함수(=올림) select ceil(10.0), ceil(10.1), ..

인공지능/SQL 2020.01.28
반응형