Oracle (SQL Developer) 테이블 생성 + JAVA 연결

2023. 1. 17. 23:51·BE/Java [Servlet , Spring]

서버(오라클)<->클라이언트(웹에서는 브라우저, sqldeveloper)


오라클(무겁고 비용 ↑ , 보안이 좋음 - 대기업에서 주로 사용)

 

 설치방법 
OracleXE112
SQL (standard query language)
*오라클 깔고 -> 서비스(제어판)에서 확인
run SQL command Line으로 실행

*오라클에서는 대소문자 똑같이 인식한다.

 

[시스템 생성]

-ueser name: system , password:1234
-> mysql-installer-> sqldeveloper (클라이언트)

create user name identified by pass;

grant connect,resource,dba to name;

[user 유저생성 & 권한부여]

create user ex01 IDENTIFIED BY pass;
유저 생성해라 이름은 ex01, 비번은 pass

권한부여 - 연결, 리소스, 관리자권한

 

새로고침 -> 새 접속(+표시) -> 생성된 name유저에서 작성


실행 -> ctrl + enter

 

 SQL문 

 create table 테이블명(필드,필드,필드);  테이블 생성 **필드 작성은 필드명 - 타입 순으로
create sequence 시퀀스명 start with 시작번호increment by 증감값; 시퀀스 생성(시작번호부터 자동으로 증감값만큼 수 증가)
 insert into 테이블명(필드,필드) values(데이터,데이터);  테이블의 해당 필드에 데이터를 삽입
 select * from 테이블명 where 조건절;  조건에 해당되는 데이터 조회
 update 테이블명 set 필드 = 바꿀값 where 조건절;  테이블에서 조건에 해당되는 필드의 값을 수정
 delete from테이블명 where 조건절;  테이블에서 조건에 해당하는 데이터 삭제(테이블X)
 drop table 테이블명;  해당 테이블 삭제(초기화)
 drop sequence 시퀀스명;  해당 시퀀스 삭제(초기화)
 desc 테이블명  테이블 속성

** where절은 상황에 따라 써도 되고 안써도 됨(조건이 필요할 때만)

 

[테이블 속성]

- 필드에 primary key 작성해서 기본키 설정할 수 있다. (기본키는 중복되지 않는 고유값이며 필드 하나만 지정할 수 있다)

- default 값을 설정해줄 수 있다.

 

[데이터 조회 select]

- SQL문에서 제공해주는 sum, max, min, avg 함수를 사용하여 데이터를 연산할 수 있다.

- 데이터 연산은 해당 column(세로열)만 가능하며 row값은 직접 연산자를 넣어 처리해야한다.

 

[DB문자타입]

char / varchar

- char(3) : 세 글자 단위만 넣을 수 있다.  (자릿수가 지정)

- varchar(20) : 쓰면 글자수 20이 멕시멈으로 작성 가능. 남은 자릿수는 공백처리

- 문자는 작은 따옴표 안에다 작성한다 -> '홍길동'

 

[조건문]

= 는 일치하는 거 검색

*은 전체 검색

like는 부분 검색 + % (와일드카드) 같이 사용한다.

 like %'이' 이로 끝나는
 like '이'% 이로 시작하는
 like %'이'% 이가 포함된
/*테이블 새로 생성*/
 create table score(
  no int primary key,
  name varchar(200),
  kor int default 50,
  eng int default 0,
  math int default 0
 );
 
 /*데이터 삽입*/
 insert into score(no,name)
 values(10,'홍길동');
 insert into score(no,name)
 values(20,'심청이');
 /*조회*/
 select score.*,kor+eng+math as tot,(kor+eng+math)/3 as avg from score;
 select sum(kor) from score;
 select avg(kor) from score;
 select max(kor) from score;
 select min(kor) from score;
 /*테이블 삭제*/
 drop table score;
 /*수정*/
 update score set kor=90, eng=90, math=90 where no=10;
 update score set kor=100, eng=100, math=100 where no=20;

만드는 순서

1. oracle로 테이블 생성 -> 테이블이 있어야 자바로 데이터를 넣어줄 수 있다(테이블명으로 조회)

 

2. Java에서 DB관리하는 클래스 생성(Database.java)

- static리턴타입 Connection 타입의 con객체 생성 (오라클과 연결하기 위해 작성한다)

- static리턴 타입은 static{ } 안에다 작성해줘야 함.

import java.sql.*;

//db연결하기 위한 클래스
    public class Database {
    public static Connection con; 
        static {
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","ex01","pass");
                System.out.println("DB연결성공");
            }catch(Exception e) {
                System.out.println("DB연결오류"+e.toString());
}
}
}

3. 라이브러리 연결

프로젝트 선택 - 우클릭(특성) -> 자바 빌드경로 -> 라이브러리 ->  modulepath -> 외부 JAR추가 선택 -> ojdbc6.jar 선택

*위치는 c드라이브 oracleex - > app -> oracle -> product -> 11.2.9 -> server -> jdbc -> lib에 있음

 

*JDBC  - DB와 연결해 데이터를 주고받을 수 있도록 해주는 자바의 인터페이스

- Class.forName( )을 이용해 드라이버 로드 > DB에 접근하기 위해 드라이버 클래스를 로드

- DriverManager.getConnection( )으로 연결 > DB연결 위함

- Connection 인스턴스를 이용해 Statement객체 생성

- SQL을 담는 Statement 객체의 결과를 ResultSet 또는 int에 받아준다. 

 

4. 필드 관리하는 클래스, 정보(메서드) 관리 클래스 DAO 생성

- DAO에는 Connection con = Database.con;으로 Java클래스에서 DB와 연결해 놓은 con객체를 불러와 사용한다.

'BE > Java [Servlet , Spring]' 카테고리의 다른 글

MVC구조 및 아파치 톰캣 서버를 사용한 JSP & Servlet 파일 생성  (0) 2023.03.31
Oracle(SQL Developer) & JAVA 상품 주문 관리 프로그램 리뷰 - 1. SQL문  (0) 2023.01.24
JAVA 주소목록 출력 DAO + getter&setter메서드 (자바빈), 접근제한자  (0) 2023.01.17
Java 차량 관리 프로그램 리뷰 - 클래스 생성하기(필드, 생성자, 메서드 오버로딩)  (0) 2023.01.09
Java 배열의 합계 및 최대&최소 값 구하기 (Sum, Max, Min)  (0) 2023.01.09
'BE/Java [Servlet , Spring]' 카테고리의 다른 글
  • MVC구조 및 아파치 톰캣 서버를 사용한 JSP & Servlet 파일 생성
  • Oracle(SQL Developer) & JAVA 상품 주문 관리 프로그램 리뷰 - 1. SQL문
  • JAVA 주소목록 출력 DAO + getter&setter메서드 (자바빈), 접근제한자
  • Java 차량 관리 프로그램 리뷰 - 클래스 생성하기(필드, 생성자, 메서드 오버로딩)
시녜's
시녜's
성장중인 새싹 개발자 🌱
  • 시녜's
    개발기록
    시녜's
  • 전체
    오늘
    어제
    • 분류 전체보기
      • FE
        • React
        • javascript(jQuery)
        • HTML & CSS
      • BE
        • Java [Servlet , Spring]
        • C & C++
        • Node.js
        • node.js
        • SQL (Oracle, mysql)
      • CS
        • 프로그래밍 이론(정보처리기사)
      • Etc
        • 코딩 챌린지
        • 개발 성장 일지
        • 코딩테스트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jquery
    CharAt함수
    백준문제풀이
    mysql
    코테기초
    스프링
    jsp
    자바
    코딩테스트입문
    코딩입문
    코딩기초
    코테
    자바조건문
    javascript
    백준
    자바스크립트
    React
    자바배열
    프로그래밍
    자바기초
    리액트
    백준코딩테스트
    html
    백준단계별문제
    코딩테스트
    제이쿼리
    자바반복문
    자바문자열
    백준브론즈
    Java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
시녜's
Oracle (SQL Developer) 테이블 생성 + JAVA 연결
상단으로

티스토리툴바