어? 이게 되네
2022.04.18. 월요일 이공계 전문기술 연수사업 16일차 본문
오늘 배운 것
프로그램 실행한 결과를 화면에 출력 - 컴퓨터를 끄면 날아가버림 (휘발성)
프로그램 실행한 결과를 파일로 출력 - 실행한 결과를 영구적으로 저장 가능
이해 관계에 있는 다수의 사용자가 최신의 정보를 공유하기가 어려움 (파일의 단점)
ㄴ그래서 데이터베이스로 출력함!
데이터베이스로 출력 - 이해 관계에 있는 다수의 사용자가 최신의 정보를 공유할 수 있음
-----------------------------------------------------------------------
데이터베이스
ㄴ데이터를 쌓아놓은 더미
데이터베이스 관리시스템 (Database Management System - DBMS)
ㄴ데이터베이스를 관리하는 시스템(sw)
-oracle
-mysql
-mssql
등이 있음
-------------------------------------------------------------------------
데이터베이스의 종류 중 oracle은 "관계형" 데이터베이스임
관계형 데이터베이스란?
ㄴ서로 관련(관계)있는 테이블로 구성됨
테이블은 행과 열로 구성됨
------------------------------------------------------------------------
데이터베이스 명령어
=>sql (Structured query language)
오라클에서 데이터베이스 명령어 모드를 실행하기 위해서는
c:\> sqlplus
------------------------------------------------------------------------
실습을 위하여 데이터베이스를 사용할 수 있는 "사용자 계정"을 만들어 본다
사용자 계정 만드는 명령어:
create user 사용자이름 identified by 암호
이름:c##sist
암호:c##sist
사용자한테 연결할 수 있고 자원을 사용할 수 있고 dba의 권한을 부여함
grant 권한명,... to 사용자이름;
grant connect, resource, dba to c##sist;
관리자가 연결을 종료함
sql> exit
사용자 계정이 연걸함
C:\Users\feelj>sqlplus
사용자명 입력: c##sist
비밀번호 입력: c##sist -보이지 않음
다음에 접속됨:
Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
회원의 아이디, 이름, 나이를 관리하기 위한 데이터베이스 테이블을 생성
테이블을 만드는 방법
ㄴcreate table 테이블명(속성이름 자료형, ...);
오라클에서 자료형
문자 varchar2
숫자 number
SQL> create table member(id varchar2(50) primary key,name varchar2(50),age number);
테이블이 생성되었습니다.
------------------------------------------------------------------------------------
테이블의 구조를 확인하는 명령
ㄴdesc 테이블이름
SQL> desc member;
이름 널? 유형
----------------------------------------- -------- ----------------------------
ID NOT NULL VARCHAR2(50)
NAME VARCHAR2(50)
AGE NUMBER
------------------------------------------------------------------------------------
테이블에 자료 추가하기
ㄴinsert into 테이블이름 values(값1, 값2, ...)
값의 수의 순서는 테이블의 구조의 속성의 수와 순서가 동일해야 함
오라클에서는 문자와 문자열의 처리를 동일하게 하며 홑따옴표로 묶어서 표현함
SQL> insert into member values('lee','이이이',26);
1 개의 행이 만들어졌습니다.
-------------------------------------------------------------------------------------
자료의 확인(자료의 검색)
ㄴselect 컬럼이름1, 컬럼이름2, ... from 테이블명
member 테이블의 회원의 이름을 검색
SQL> select name from member;
NAME
-----------
이이이
member 테이블의 회원의 아이디,이름,나이를 출력
select id,name,age from member;
------------------------------------------------------------------------------------
컬럼 폭의 설정
=>파일을 만들어서 설정함
ㄴed ff해서 메모장으로 컬럼 값 설정
ㄴ@ff
SQL> ed ff
SQL> @ff
SQL> select * from member;
ID NAME AGE
---------- ---------- -----
lee 이이이 26
------------------------------------------------------------------------------------
JDBC프로그래밍
java database connection programming
미리준비)오라클 설치된 폴더에서 ojdbc8를 복사하여 java설치 경로 lib에 붙여넣기함
이클립스 프로젝트 이름 우클릭
=>Properties
=>Java Buid Path
=>Libralies
=>Class Path
=> Add External Jars
=> ojbc8.jar의 경로를 설정
=> apply and Close를 클릭
-------------------------------------------------------------------
예외발생:IO 오류:
The Network Adapter could not establish the connection
(CONNECTION_ID=VQVpZ50DT/2RUxtSLYMcLg==)
오라클 설치 폴더에서 다음의 네트워크 설정과 관련한 파일을 수정
C:\app\feelj\product\21c\homes\OraDB21Home1\network\admin
listener.ora
tnsnames.ora
파일의 HOST 의 값을
컴퓨터 이름으로 변경해 줌.
시스템을 재가동 하거나
서비스의 Oracle로 시작하는 모든 서비스를 중지하고
다시 시작.
-------------------------------------------------------------------
데이터를 검색하기
select 컬럼이름1, 컬럼이름2, ... from 테이블이름;
모든 컬럼을 다 검색하기
select * from 테이블이름;
데이터베이스에 명령 반영하기
commit;
데이터베이스 자료를 수정하기
update 테이블이름 set 컬럼이름=값; (모든 레코드의 값이 변경됨)
update member set age=20; (모든 회원의 나이가 20살이 된다는 뜻)
특정 자료만 수정하기
update 테이블이름 set 컬럼이름=값 where 조건식;
update member set age = 30 where id='kim'; (아이디가 kim이라는 사람에 대해서만 나이를 30살로 바꿔라라는 뜻)
한꺼번에 여러 개의 속성 바꾸기
update 테이블이름 set 컬럼1=값1, 컬럼2=값2, ... where 조건식;
update member set name='정해창',age='30' where id='lee3';
데이터베이스 자료를 삭제하기
delete 테이블이름; (모든 자료가 삭제됨)
delete 테이블이름 where 조건식;
delete member where id='lee3';
오늘 헷갈린 것
- 오라클 연동 db 멤버 crud gui에 표현한 것 혼자서 코딩해보기!
- table.updateUI(); 왜 필요한지 다시 생각하기
오늘 한 생각
블로그 포스팅에 점점 불성실해져간다 ㅠㅠ
이러면안돼!! 오늘부터 자바 조건문부터 다시 복습해보려고 한다
복습을 꾸준하게 하자 제발 !!
오류 카테고리 하나 만들어서
오류포스팅도 하자!!
'TIL' 카테고리의 다른 글
2022.04.20. 수요일 이공계 전문기술 연수사업 18일차 (0) | 2022.04.20 |
---|---|
2022.04.19. 화요일 이공계 전문기술 연수사업 17일차 (0) | 2022.04.19 |
2022.04.13. 수요일 이공계 전문기술 연수사업 13일차 (0) | 2022.04.13 |
2022.04.12. 화요일 이공계 전문기술 연수사업 12일차 (2) | 2022.04.12 |
2022.04.11. 월요일 이공계 전문기술 연수사업 11일차 (0) | 2022.04.11 |