본문 바로가기

Oracle9

2022-11-12 JDBC 정리, 복습하기 1. 드라이버 로딩 java.lang패키지의 Class라는 클래스의 forName이라는 메소드를 이용해서 오라클 드라이버의 핵심클래스를 메모리에 로딩 Class.forName("oracle.jdbc.driver.OracleDriver"); 2. DB서버에 연결하기 => java.sql패키지의 API를 이용 DriverManeger의 getConnection메소드를 이용해서 DB서버에 연결 1) static메소드이므로 클래스 이름으로 엑세스 static { Class.forName("oracle.jdbc.driver.OracleDriver"); } 2) throws하고 있는 SQLException은 Exception클래스의 하위 클래스이르모 문법적으로 Exception처리를 해야 한다. static { /.. 2022. 11. 12.
2022-11-08 1-1 시퀀스(Sequence), JDBC Sequence - 시퀀스 만들기 create sequence myseq; * nextval : 1씩 증가 select myseq.nextval from dual; NEXTVAL -------- 1 NEXTVAL -------- 2 * currval : 값 증가하지 않고 값을 불러옴 select myseq.currval from dual; CURRVAL -------- 4 CURRVAL -------- 4 - 시퀀스 삭제하기 drop sequence myseq; - 데이터 추가하기 insert into order_info values('20221107' || order_seq.nextval, sysdate, 'lee'); //이런식으로도 가능 - 외부pc로 오라클 접속하기 - 명령 프롬프트 오라클 sco.. 2022. 11. 8.
2022-11-08 1-2 시퀀스, JDBC 자바로 JDBC연동 - API로 작업 ** 패키지 import 주의! 1. 오라클 드라이버 로딩 클래스로더를 이용해서 드라이버의 핵심 클래스를 메모리에 로딩 java.lang패키지의 Class라는 클래스의 forName이라는 메소드를 이용해서 오라클 드라이버릐 핵심클래스를 메모리에 로딩 핵심클래스는 드라이버클래스라고 하며 드라이버클래스는 어떤 DBMS를 이용하냐에 따라서 달라진다. [문법] class.forName("메모리에 로딩하고 싶은 클래스명(패키지까지 명시)") [오라클] Class.forName("oracle.jdbc.driver.OracleDriver") //oracle.jdbc.driver패키지의 OracleDriver.class 파일 -------------------------------.. 2022. 11. 8.
2022-11-07 서브쿼리, 뷰, 데이터 조작어, 데이터 정의어, 제약 조건 서브쿼리 종류 3. 다중컬럼 서브쿼리 - 두 개 이상의 컬럼을 리턴하는 서브쿼리 - select절에 비교할 데이터를 여러 개 지정하는 반식 - 메인쿼리에 비교할 열을 괄호로 묶어 명시하고 서브쿼리에서는 괄호로 묶은 데이터와 같은 자료형 데이터를 select절에 명시 where (컬럼1, 컬럼2...) in (서브쿼리의 실행결과 값1, 값2...) select empno, deptno, sal from emp where (deptno, sal) in (select deptno, min(sal) from emp group by deptno); 4. 상호연관 서브쿼리 (효율 안 좋음) -서브쿼리를 실행할 때 메인쿼리 테이블의 컬럼을 참조해서 작업해야 하는 서브쿼리 - 서브쿼리의 비교 값이 계속 바뀌는 경우 메.. 2022. 11. 8.
Do it! 오라클로 배우는 데이터베이스 입문 p.240 4번 문제 리뷰 자체 조인, 외부 조인을 알아야 풀 수 있는 문제 SQL> SELECT D.DEPTNO, D.DNAME, E.EMPNO, E.ENAME, E.MGR, E.SAL, E.DEPTNO, 2 S.LOSAL, S.HISAL, S.GRADE, E2.EMPNO AS MGR_EMPNO, E2.ENAME AS MGR_ENAME 3 FROM EMP E, DEPT D, SALGRADE S, EMP E2 4 WHERE E.DEPTNO(+) = D.DEPTNO 5 AND E.SAL BETWEEN S.LOSAL(+) AND S.HISAL(+) 6 AND E.MGR = E2.EMPNO(+) 7 ORDER BY D.DEPTNO, E.EMPNO; DEPTNO DNAME EMPNO ENAME MGR SAL DEPTNO LOSAL HIS.. 2022. 11. 5.
2022-11-04 조인, 서브쿼리 Join - 관계형 데이터베이스에서 원하는 결과를 여러 테이블로부터 가져오고 싶은 경우 즉, 여러 테이블을 이용해서 원하는 결과를 만들어내는 것을 조인이라 한다. - 조인은 어떤 테이블을 기준으로 다른 테이블에 있는 레코드의 값을 참조하는 것을 조인이라 한다. - 기본키 테이블과 외래키 테이블 관계를 이용해서 조인해야 한다. ------------------ ----------------- ㄴ어떤 정보를 ㄴ기본키테이블에 정리된 중복없이 정리 컬럼의 값을 참조해서 해둔 테이블 사용하는 테이블 조인방법 - 반드시 연관성있는 테이블끼리 조인해야 한다. - 조인조건을 정의해야 한다. - where 기본키테이블명.컬럼명 = 외래키테이블명. 컬럼명 (테이블 이름. 열이름) => where emp.DEPTNO = d.. 2022. 11. 4.
2022-11-03 오라클(Oracle) 단일행함수, 다중행함수 Oracle - 내장함수의 종류 1. 단일행 함수 : 데이터가 한 행씩 입력되고 입력된한 행당 결과가 하나씩 나오는 함수 2. 다중행 함수 : 여러 행이 입력되어 하나의 행으로 결과가 반환되는 함수 단일행함수 [ 문자 함수 ] - select upper(문자열) : 모두 대문자로 변환 - select lower(문자열) : 모두 소문자로 변환 - select inicap(문자열) :첫 글자는 대문자, 나머지는 소문자로 변환 - where length(문자열) - select substr(문자열 데이터, 시작 위치, 추출 길이) : 시작 위치부터 길이만큼 - select substr(문자열 데이터, 시작 위치) : 시작위치부터 끝까지 ** 오라클의 인덱스 번호는 1번부터이다. ** 기본값 - 1 - sel.. 2022. 11. 3.
2022-11-02 오라클(Oracle) SELECT문, WHERE절 Oracle SELECT : 데이터베이스에 보관되어 있는 데이터를 조회하는 데 사용한다. SELECT [조회할 열 1 이름], [열2 이름], .... [열N이름] from [조회할 테이블 이름]; - 원하는 것만 조회 => 콤마(,)로 구분하기 + 세미콜론(;) 붙이지 않음 1)한 칸 띄우고 별칭 지정 select sal*12 연봉 2) 큰따옴표(" ")로 묶어 지정 select sal*12 "연 봉" 내림차순정렬 - order by SAL asc, ENAME desc -> 오름차순, 내림차순 동시에 사용하기 ** order by는 맨 아래에 쓰기 WHERE - where절 : 특정 조건을 기준으로 원하는 행을 출력한다. - 조건 식의 개수 : select * from emp where 조건식1 and.. 2022. 11. 3.
2022-11-01 오라클(Oracle) 계정생성, 권한 부여하기, 비밀번호 변경하기 Oracle * 접속명령어 : conn * 사이즈 조절 명령어 : set linesize nnn; * XE, Listener 파일은 필수적으로 실행 중이어야 함(시작 - 윈도우 관리도구 - 서비스) => (listener.ora, transnames.ora 파일 내용 변경하면 재시작해주기 ) * commit; => 저장하기(인서트 딜리트 했던 데이터는 저장되지 않음) 1. 계정 생성하기 - ID : scott - PW : tiger - 계정을 생성하거나 권한을 부여하는 모든 작업은 관리자 계정에서 작업 - 로그인하다 오류나면 어느 계정에도 들어와있지 않은 것임 => 관리자 계정 접속하기 SQL> create user scott identified by tiger 2. 접속하기 - 접속권한을 부여하지 않고.. 2022. 11. 1.