데이터베이스 연결 프로그래밍
**데이터베이스는 왜 필요한가요?
==> 프로그램을 실행한 결과를 화면에 출력하면
컴퓨터전원을 끄고 나면 그 결과가 날아가 버린다
그래서 그 결과를 영구적으로 보관하려면 파일을 이용한다
그런데, 파일은 이해관계가 있는 여러 사람들이
항상 최신의 정보를 공유하기에는 어려움이 있다
그래서 이해관계에 있는 사라들이 항상 최신의 정보를 공유하도록
자료를 한곳에 모아두면 좋을 거 같다
이를 데이터베이스라고 한다
데이터베이스를 잘 사용하도록 도와주는 시스템을
데이터베이스 관리시스템이라고 한다
DataBase Management System
DBMS
DBMS의 종류는 oracle, ms-sql, my-sql, mariadb 등이 있다
우리나라에서는 대체로 oracle을 사용하고 있다
교육용으로 oracle XE를 다운받아 설치하도록 하자
관리자계정(system,sys)의 암호
manager
sql은 데이터베이스 명령어이다
structured query language
**데이터베이스 명령을 내리기 위하여 다음을 실행한다
c:\>sqlplus
sql>
레코드(행,row)
속성(열,field)
행과 열로 구성된 자료의 집합을 테이블이라고 한다
데이터베이스는 서로 관련이 있는 테이블들 여러 개가 모여서 구성된 것이다
**테이블 생성 명령어
create table 테이블이름(속성이름 자료형, 속성이름 자료형, ....);
oracle에서는
문자열의 자료형을 varchar2(길이)라고 한다
varchar2(100)
숫자 자료형==> number
sql> create table student(name varchar2(20),kor number,eng number,math number);
sql> create
table
student(name varchar2(20),
kor number,
eng number,
math number);
한 줄에 명령어를 쭉 써도 좋고 여러줄에 걸쳐서 명령어를 써도 좋다
**테이블구조를 파악하는 명령어
sql>desc student
(desc는 description)
**테이블에 자료를 추가하는 데이터베이스 명령어
insert into 테이블이름 values(값1, 값2,....);
이 때 값의 수와 순서는 테이블의 구조와 같아야 한다
오라클에서 문자열은 반드시 홋따옴표로 묶어야 한다
추가한 내용이 있고 그것을 dbms에 반영하려면
반드시 commit을 해야한다
만약, 이렇게 추가한 내용을 취소하려면
rollback을 한다
**테이블에 자료를 조회하기
select * from 테이블이름;
==> 자바에서 데이터베이스에 연결
==> java DataBase Connect
==> JDBC 연결 프로그래밍
**자료의 수정
update 테이블이름 set 컬럼이름=값, 컬럼이름=값... where 컬럼이름=값;
update goods set qty=20,price=2000,item='공책' where no=7;
**자료의 삭제
delete 테이블명 where 컬럼이름=값;
delete goods where no=7;
데이터베이스에 연결하여
C create
R read
U update
D delete
이것을 CRUD라고 부르기도 한다
**자바에서 데이터베이스 연결 프로그래밍 순서(JDBC 프로그래밍 순서)
1. jdbc드라이버를 메모리로 로드한다
Class.forName(oracle.jdbc.driver.OracleDriver);
2. DB 서버에 연결한다
Connection conn=DriverManager.getConnection("서버의 주소","사용자이름","암호");
3. 자바 프로그램에서 데이터베이스 명령을 실행할 Statement 객체를 생성한다
Statement stmt=conn.createStatement();
4. 데이터베이스 명령을 실행한다
int re=stmt.executeUpdate(명령어);
==> 데이터베이스에 변경이 있는 명령을 시킬 때 사용
==> 성공적으로 명령을 수행한 레코드의 수를 반환(int re)
ResultSet rs=stmt.executeQuery(명령어);
==> 데이터베이스의 내용을 읽어오는 명령을 시킬 때 사용
==> 읽어온 결과를 ResultSet으로 반환
5. 일처리를 한다
6. 사용했던 자원을 닫아준다
rs.close();
stmt.close();
conn.close();
실행했더니 다음과 같은 오류가 발생할 수 있다
예외발생: oracle.jdbc.driver.OracleDriver
==>이는 드라이버가 어디있는지 몰라서 난 오류이다
그래서 알려줘야한다
(이클립스에 포함시켜야 한다)
오라클이 설치된 다음의 경로에
C:\app\User\product\21c\dbhomeXE\jdbc\lib
ojdbc8.jar파일 안에 그 클래스가 있다
프로젝트 이름에 오른쪽 단추
==>properties
==> JavaBuildPath
==> Libraries
==> class path
==> add external jars
==>C:\app\User\product\21c\dbhomeXE\jdbc\lib\ojdbc8.jar
==> apply and close
'프로그래밍 공부 정리 > database' 카테고리의 다른 글
제약(primary key, not null, unique,default,check) (0) | 2021.11.21 |
---|---|
제약: 참조키 설정, 개체무결성, 참조무결성 (0) | 2021.11.20 |
having, self join, outer join (0) | 2021.11.19 |
VO,DAO,join, 집계함수 (0) | 2021.11.18 |
데이터 연결 프로그래밍(PreparedStatement,명령어,연산자들) (0) | 2021.11.17 |