본문 바로가기

Learning

PreparedStatement 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455package com.oracle.namecardTest; import java.sql.*; //자바 sql 라이브러리 public class PrepareSTMT { public static void main(String[] args) { //(oracle) jdbc:oracle:thin:@localhost:1521:xe //(mySQL) jdbc:mysql://localhost:3306/db이름// 미리 입력할 오라클 주소, 계정, 비밀번호를 변수로 저장 String DB_URL = "jdbc:oracle:thin:@127.. 더보기
JDBC SELECT 1 2 3 SELECT * FROM NAMECARD ORDER BY NO; commit; cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 package com.oracle.namecardTest; import java.sql.*; //자바 sql 라이브러리 public class Select { public static void main(String[] args) { //(oracle) jdbc:oracle:thin:@localhost.. 더보기
JDBC INSERT SCOTT 계정에서 NAMECARD라는 명함 테이플을 만들기 DROP TABLE NAMECARD; CREATE TABLE NAMECARD( NO NUMBER CONSTRAINT PK_NAMECARD PRIMARY KEY, NAME VARCHAR2(20) NOT NULL, MOBILE VARCHAR2(20) NOT NULL, EMAIL VARCHAR2(40), COMPANY VARCHAR2(60) ); 시퀀스 만들기 DROP SEQUENCE CARD_NO; CREATE SEQUENCE CARD_NO INCREMENT BY 1 START WITH 1; NAMECARD 테이블에 값 입력 INSERT INTO NAMECARD VALUES ( CARD_NO.NEXTVAL, 'LALA', '010-1234-5678.. 더보기
JDBC Test 자바 웹 애플리케이션 (이클립스)과 오라클을 연결해주는 JDBC (Java DataBase Connectivity) 필요 오라클 JDBC 드라이버를 다운로드 후 C:\Program Files\Java\jre1.8.0.251\jre\lib\ext에 옮겨놓음 이클립스에서 확인 JDBC 테스트 1. 드라이버 로딩 Class.forName("oracle.jdbc.driver.OracleDriver"); 2. DB 연결 Connection conn=null; conn=DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); 3. SQL문 준비 stmt=conn.createStatement(); 4. SQL쿼리 실행하고 결과 받기 stmt.executeUpdate().. 더보기
DCL: 데이터 제어어 DCL: DATA CONTROL LANGUAGE 데이터 제어 언어 데이터의 사용권한을 관리 GRANT: 특정 사용자에게 수행 권한을 부여 REVOKE: 특정 사용자에게 수행 권한을 회수 및 박탈 새 유저 만들기 1 CREATE USER John Identified by 1234; --새유저 존을 만들고 비밀번호 1234 cs HR 계정에서 나오고 Oracle-XE로 연결 데이터베이스 접속 선택 시 접속권한이 없어서 실패함 접속 권한 주기 1 2 GRANT CREATE SESSION TO John; --John 유저에게 접속 권한 주기 cs 존 계정으로 접속 성공 테이블 생성 CREATE TABLE t1 ( id NUMBER PRIMARY KEY ); 1 2 3 CREATE TABLE t1 ( id NUM.. 더보기
시퀀스 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성해주는 오라클 객체 테이블과는 독립적으로 저장, 생성 (테이블을 삭제해도 관련 시퀀스는 삭제되지 않음) 시퀀스 생성 1 2 3 4 5 6 7 CREATE SEQUENCE 시퀀스1; --생성 --DROP SEQUENCE 시퀀스1; --삭제 --시퀀스 이름으로 시퀀스 정보출력 SELECT * FROM USER_SEQUENCES WHERE sequence_name = '시퀀스1'; --MIN_VALUE부터 MAX_VALUE까지 사용 가능 --INCREMENT_BY씩 증가 cs 1 2 3 4 --시퀀스 테스트 듀얼 테이블에서 SELECT 시퀀스1.NEXTVAL FROM DUAL; --시퀀스 사용.nextval 실행하는 만큼 증가 Colored by Colo.. 더보기
인덱스 인덱스: RDBMS에서 검색속도를 높이기 위해 사용하는 하나의 기술 WHERE절로 행을 찾을때 전체 테이블을 다 훑어서 비효율적. 자주 찾는 열은 별개의 공간에 인덱스를 만들어서 검색하도록 함 키 값을 기초로 하여 테이블에서 검색과 정렬 속도 향상시킴 테이블의 기본키는 자동으로 인덱스됨 인덱스 확인하기 1 2 3 4 5 6 SELECT TABLE_NAME 테이블명, INDEX_NAME 인덱스이름, COLUMN_NAME 컬럼이름 FROM ALL_IND_COLUMNS --오라클에서 자동 생성됨 WHERE TABLE_NAME = 'DEPARTMENTS'; --테이블 이름을 대문자로 cs 1 2 3 4 5 6 7 8 9 10 11 --실습으로 테이블 만들기 CREATE TABLE members ( member_.. 더보기
뷰: 가상의 테이블. 직접 테이블에 접근하는 것이 아니라 테이블에서 사용자가 필요로 하는 부분만 선택하여 만들어놓은 데이터의 집합. 가상의 테이블 원본 테이블에 직접 접근하지 않아도 사용자가 임의의 뷰를 구성하여 별도의 이름을 붙이거나 접근 가능한 사람들 지정할 수 있음 -> 데이터의 보안 유지 복잡한 SQL문을 매번 작성하지 않도록 할 수 있음 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용. 조작도 거의 비슷 가상 테이블이기 때문에 물리적으로 구현되어 있지 않음 필요한 데이터만 뷰로 정의해서 처리하여 관리가 용이 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호가능 단순한 view 만들기 EMP_V1 (하나의 원본테이블 사용, 함수나 그룹.. 더보기
테이블 컬럼(열)의 추가/수정/삭제 90번 부서의 직원들을 새테이블 E_EMP에 입력 1 2 3 4 5 CREATE TABLE E_EMP AS SELECT employee_id, last_name, salary, department_id FROM employees WHERE department_id=90; cs 열의 이름을 지정해서 E_EMP2 테이블 생성 1 2 3 4 5 6 7 CREATE TABLE E_EMP2(emp_id, name, sal, dept_id) AS SELECT employee_id, last_name, salary, department_id FROM employees WHERE department_id=90; SELECT * FROM E_EMP2; Colored by Color Scripter cs 열의 추가 1 2.. 더보기
제약조건의 삭제 제약조건의 이름으로 삭제 1 2 ALTER TABLE class DROP CONSTRAINT class_cno_pk; cs 기본키를 참조하는 외래키가 있기 때문에 에러 발생 CASCADE 옵션시 참조하는 외래키도 삭제 1 2 ALTER TABLE class DROP CONSTRAINT class_cno_pk CASCADE; cs 제약조건으로 삭제 1 2 3 4 5 6 ALTER TABLE class DROP UNIQUE (cname); --클래스 테이블의 cname열의 유니크 제약조건 삭제 ALTER TABLE student DROP PRIMARY KEY; --기본키의 삭제 cs 테이블의 삭제 1 2 DROP TABLE class; DROP TABLE student; cs 더보기