목록SelfStudy/Oracle (SQL) (10)
YJ의 새벽
SELECT FROM WHERE GROUP BY HAVING ORDER BY 순서 외우세요 CREATE USER 유저명 IDENTIFIED BY 비밀번호; -계정만들기 GRANT CONNECT , RESOURCE TO 유저명 ; -권한설정 CREATE TABLE 테이블명( 컬럼1 타입 , 컬럼2 타입 ...) ; -테이블만들기 DROP TABLE 테이블명 ; -테이블삭제 INSERT INTO 테이블명 (컬럼1,컬럼2...) -값추가 VALUES (값1,값2...) ; UPDATE 테이블명 SET 컬럼명='바꿀값',컬럼명2='바꿀값' -값수정 WHERE 컬럼명='고정값'; SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '박%'; -'박'으로 시작값 검색 SELECT * FROM 테이블명 WH..

외래키 ( FK . Foreign key ) --두개의 테이블을 연결해주는 다리 역할. --외래키는 새롭게 추가되는 행에서 외래키에 해당하는 값이 외래키가 참조하는 테이블이 존재하는지를 체크 . --참조하는 테이블에 무결성을 높여주는 역할. --형식 CONSTRAINT [제약조건이름] FOREIGN KEY ([컬럼이름]) REFERENCES [참조테이블이름] ([참조컬럼이름]) [ON DELETE CASCADE | ON DELETE SET NULL] ; **ON DELETE CASCADE --참조되는 부모 테이블 행에 대한 DELETE 를 허용. 즉, 참조되는 부모 테이블 값이 삭제되면 연쇄적으로 자식 테이블 값 역시 삭제. 목적 : 부모 테이블 값을 삭제할때 기본적으로 오류 발생. **ON DELETE..
JDBC Connection pool -- 클라이언트에서 데이터베이스 연결을 요청하는 시점에 연결하는것이 아니라 미리 일정수량의 연결 객체들을 만들어 놓고 불러다가 사용하는 방법. -- 미리 일정 갯수의 Connection 을 만들어 Pool (메모리영역 )에 저장 - SQL문 실행 전 ( 프로그램 실행된 후 ) -- 사용자 요청이 발생하면 Connection을 제공, 연결종료되면 Pool에 다시 반환후 보관. - 빌려줄 Connection이 없다면 Connection이 반환될때까지 클라이언트는 대기상태로 전환 **필요한 이유 ? -- 네이버와 같은 웹 어플리케이션은 CRUD와 같은 작업을 처리할 때 주로 데이터베이스를 이용, DBMS나 기타 외부와의 접속이 빈번하게 필요한 시스템에는 반드시 존재해야하는..
뷰 (VIEW) --실체가 없는 테이블 , 다른 테이블에 접근하기 위한 테이블, 중간에 있는 테이블 -- 장점 : 검색속도가 빠르다. 한개의 뷰로 여러 테이블을 검색(조인) 할 수 있다. -- 제한 설정이 가능하다. (읽기전용 : READ ONLY) -- 기본적으로 읽기와 쓰기 모두 가능 . ( SELECT , INSERT , UPDATE , DELETE 모두 가능 ) ** 뷰(VIEW) 정보 조회 : SELECT * FROM USER_VIEWS; --SELECT * FROM 뷰이름 ** 뷰(VIEW) 생성 : CREATE VIEW 뷰이름 AS SELECT문. --읽기 쓰기 모두 가능 --SELECT , INSERT , UPDATE , DELETE 모두 가능 CREATE VIEW 뷰이름 AS SELCET..
오라클 JDBC 연동하여 **execute() : DDL 실행 **executeQuery() : SELECT **executeUpdate() : INSERT , UPDATE, DELETE ** SELECT 문 . public class Example { public void select(Connection con,Statement st,ResultSet rs) { String sql = "SELECT * FROM EMP_TBL"; try { st = con.createStatement(); rs = st.executeQuery(sql); while(rs.next()==true) { String value = rs.getString("ENAME"); System.out.println("ENAME: "+va..

인덱스 (DDL) -- 읽기 용도의 테이블 -- 한 테이블에 여러개의 인덱스 지정이 가능 --인덱스 조회 SELECT * FROM USER_INDEXES WHERE TABLE_NAME = '테이블명'; --테이블 단위의 정보를 관리 SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '테이블명'; SELECT TABLE_NAME,INDEX_NAME,COLUMN_NAME FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '테이블명'; --컬럼 단위의 정보를 관리 -- 인덱스 삭제 ( 수정이 없다, 삭제후 다시만들어야한다. ) DROP INDEX 인덱스명; -- 인덱스 생성 CREATE INDEX 인덱스명 ON 테이블명(컬럼명) ; --IND_NAME..

JDBC에서 시퀀스 수정 , 확인하기 **EX ) 시퀀스 수정 : ALTER SEQUENCE SQL문 public class TestJDBC { //ALTER SEQUENCE 수행하는 메소드 정의 // --ALTER SEQUENCE 시퀀스명 MAXVALUE 변경할최댓값 //외부에서 시퀀스이름값 받아오는 매개변수 선언 : String pseqName //연결객체 주소 받아오는 매개변수 선언 : Connection pcon //반환값이 없다 . public void alterSeq(String pseqName, Connection pcon) { //1. 실행할 SQL 문 문자열로 보관 String sql = "ALTER SEQUENCE "+pseqName+ " MAXVALUE 1000"; //2. State..

JDBC 프로그래밍 단계 JDBC 드라이버 로드 --> JDBC driver class / Class.forName() 데이터베이스 연결 --> Java.sql.Connection / getConnection() Statement 생성 --> Java.sql.Statement / createStatement() Java.sql.PreparedStatement / prepareStatment() SQL 문 전송 --> Java.sql.Statement / executeQuery() , excuteUpdate() 결과받기 --> Java.sql.ResultSet / resultSet() 연결해제 --> Java.sql.Connection / close() **PreparedStatement -- DBMS 에..