[Day 15] 국비 0415 - 내용 정리
🌞프로그램 출력
- 프로그램 실행한 결과를
- 화면에 출력: 컴퓨터를 끄면 날아가버림(휘발성)
- 파일로 출력: 실행한 결과를 영구적으로 저장할 수 있다. 이해관계에 있는 다수의 사용자가 최신의 정보를 공유하기 어렵다.
- 데이터베이스로 출력: 이해관계에 있는 다수의 사용자가 최신의 정보를 공유할 수 있다.
🌞데이터베이스
- 데이터를 쌓아놓은 더미를 말한다.
🌞데이터베이스 관리 시스템(DataBase Management System - DBMS)
- 데이터베이스를 관리하는 시스템
- oracle, mysql, mssql
🌞데이터베이스의 종류
- 데이터베이스 종류 중 oracle은 "관계형 데이터베이스"
🌈관계형 데이터베이스
- 서로 관련(관계)가 있는 테이블로 구성된다.
- 테이블은 행과 열로 구성되어있다.
🌞데이터베이스 명령어
- sql(Structured Query Language)
🌈오라클에서 데이터베이스 명령어 모드를 실행
c:\> sqlplus
사용자명 입력: system
비밀번호 입력: manager (입력할 때 화면에 보이지 않는다.)
SQL >
🌈실습을 위하여 데이터베이스를 사용할 수 있는 "사용자 계정" 만들기
🍁사용자 계정 만드는 명령어
create user 사용자이름 identified by 암호
-> create user c##sist identified by sist;
🍁사용자에게 연결할 수 있고, 자원을 사용할 수 있고, dba의 권한을 부여
grant 권한명, ... to 사용자이름;
-> grant connect, resource, dba to c##sist;
🍁관리자가 연결을 종료
sql > exit
🍁사용자 계정 연결하기
c:... > sqlplus
사용자명 입력: c##sist
비밀번호 입력: sist
SQL >
🍁회원의 아이디, 이름, 나이를 관리하기 위한 데이터베이스 테이블을 생성
create table 테이블(속성이름 자료형, ...);
-> create table member(id varchar2(50) primary key, name varchar(50), age number);
-
오라클에서 자료형
-
문자 : varchar2 //가변길이 -> 50자 이내에서 필요한 만큼만 잡힘
-
숫자 : number
-
primary key: 중복이 되지 않도록 식별해주는 키
🍁테이블의 구조를 확인하는 명령
desc 테이블;
-> desc member;
🍁테이블에 자료를 추가
insert into 테이블명 values(깂1, 값2, ...);
-> insert into member values('hong', '홍길동', 20);
- 값의 수와 순서는 테이블 구조의 속성의 수와 순서가 동일해야만 한다.
- 오라클에서는 문자와 문자열의 처리를 동일하게 하며 홋따옴표로 묶어서 표현한다.
🍁자료의 확인(자료의 검색)
select 컬럼이름1, 컬럼이름2, ..from 테이블명;
- member 테이블의 회원이름을 검색
> select name from member;
- member 테이블의 아이디, 이름, 나이를 출력
> select id, name, age from member;
🍁컬럼 폭의 설정
파일을 만들어 설정
> ed ff
파일의 내용을 실행
>@ff
🌞JDBC 프로그래밍(Java Database Connection programming)
🌈미리준비
- 오라클에서 설치된 폴더에서 ojdbc8 을 lib으로 복사하여 java 설치경로로 복사
- 이클립스 프로젝트 이름 오른쪽 단추 -> Prooerties -> JavaBuild Path -> Libraries -> Class path -> Add External Jars -> ojdbc8.jar의 경로를 설정 -> apply and Close를 누른다.
🌞예제
🌟(DB연결)예제1🌟
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Scanner;
//사용자한테 아이디, 이름, 나이를 입력받아서 데이터베이스 테이블 member에 추가하는 자바프로그램을 작성
public class InsertMember {
public static void main(String[] args) {
String id, name;
int age;
Scanner sc = new Scanner(System.in);
System.out.print("새로 등록할 회원의 아이디를 입력하세요: ");
id = sc.next();
System.out.print("새로 등록할 회원의 이름을 입력하세요: ");
name = sc.next();
System.out.print("새로 등록할 회원의 나이를 입력하세요: ");
age = sc.nextInt();
// 입력받은 아이디, 이름, 나이를 갖고 데이터베이스 명령어 만들기
String sql = "insert into member values('" + id + "', '" + name + "', " + age + ")";
// 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터베이스 명령어 sql을 동작하도록 하자.
// 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램
// JDBC 프로그래밍 Java DataBase Connection
try {
// 1. jdbc 드라이버를 메모리로 로드한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. db서버에 연결한다.
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.35.171:1521:XE", "c##sist",
"sist"); // 첫번째 칸에는 내 아이피주소, 사용자 계정, 비밀번호
// 3. 데이터베이스 명령을 실행하기 위한 객체를 생성
Statement stmt = conn.createStatement();
// 4. 데이터베이스 명령을 실행
stmt.executeUpdate(sql);
// 5. 사용이 끝난 자원을 닫아준다.
stmt.close();
conn.close();
System.out.println("회원의 정보를 등록하였습니다.");
} catch (Exception e) {
System.out.println("예외발생: " + e.getMessage());
}
}
}
🌞연습문제
👑연습문제1👑
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Scanner;
public class InsertStudent {
public static void main(String[] args) {
String name;
int num, kor, eng, math;
Scanner sc = new Scanner(System.in);
System.out.print("새로 등록할 회원의 번호를 입력하세요: ");
num = sc.nextInt();
System.out.print("새로 등록할 회원의 이름을 입력하세요: ");
name = sc.next();
System.out.print("새로 등록할 회원의 국어점수를 입력하세요: ");
kor = sc.nextInt();
System.out.print("새로 등록할 회원의 영어점수를 입력하세요: ");
eng = sc.nextInt();
System.out.print("새로 등록할 회원의 수학점수를 입력하세요: ");
math = sc.nextInt();
// 입력받은 아이디, 이름, 나이를 갖고 데이터베이스 명령어 만들기
String sql = "insert into student values('" + num + "', '" + name + "', '" + kor + "', '" + eng + "', " + math+ ")";
//String sql = "insert into student values('" + num + "', '" + name + "', " + kor + "', " + eng + "', " + math + ")";
// 프로그램에서 자동으로 데이터베이스에 연결하여 위에서 만든 데이터베이스 명령어 sql을 동작하도록 하자.
// 자바가 데이터베이스에 연결하여 데이터베이스 명령어를 실행하는 프로그램
// JDBC 프로그래밍 Java DataBase Connection
try {
// 1. jdbc 드라이버를 메모리로 로드한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. db서버에 연결한다.
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.35.171:1521:XE", "c##sist",
"sist"); // 첫번째 칸에는 내 아이피주소, 사용자 계정, 비밀번호
// 3. 데이터베이스 명령을 실행하기 위한 객체를 생성
Statement stmt = conn.createStatement();
// 4. 데이터베이스 명령을 실행
stmt.executeUpdate(sql);
// 5. 사용이 끝난 자원을 닫아준다.
stmt.close();
conn.close();
System.out.println("회원의 정보를 등록하였습니다.");
} catch (Exception e) {
System.out.println("예외발생: " + e.getMessage());
}
}
}
Author And Source
이 문제에 관하여([Day 15] 국비 0415 - 내용 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rlaehdus0417/Day-15-국비-0415-내용-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)