<1~4교시 자바>
<조건문과 반복문>
실행 흐름을 제어하는 것이 제어문이며 이러한 제어문을 통해 실행 흐름을 원하는 방향으로 조절할 수 있다.
제어문의 종류에는 바로 이 조건문과 반복문이 있는 것이다.
조건문
if문
조건식 결과에 따라 블록 실행 여부 결정
조건식의 중괄호는 실행문이 여러개일 경우 실행하지만
실행문이 하나일경우 생략 가능
if-else문
if문을 else 블록과 함께 사용
조건식이 true가 되면 if 중괄호 내부를 실행하고, false가 되면 else 중괄호 내부를 실행
if-else if-else문
조건식이 여러개인 if문
조건식1 이 true가 되면 if 중괄호 내부를 실행하고, 조건식2가 true가 되면 else if 중괄호 내부를 실행한다. 조건식1과 조건식2가 모두 false가 되면 else 중괄호 내부가 실행되고 사진상의 실행문D가 실행된다.
switch문
스위치 괄호 속에 있는 값과 케이스 속에 있는 값을 비교하여 같은 값을 찾는다.
도중에 break 문을 만나면 빠져나감
*break 문이 없으면 break 문을 만날 때까지 값이 일치하지 않아도밑의 값을 계속해서 실행한다
일치하는 값이 하나도 없으면 defalt 로 간다
<5~8교시:DB>
이진 데이터 타입
RAW 방식은 작은 크기(2000BYTE)의 이진 자료 저장
BFILE은 자주 변경되어지는 파일을 바꿀 때 해당 파일만 바꾸어 주면 되기 때문에 그러할 때에 사용
BLOB는 자료를 컬럼 안에 저장하기 때문에 자주 변경되지 않는 자료를 저장할때 사용
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
2024-0906-01)이진데이터
- RAW, BFILE, BLOB
- 오라클은 자료를 해석하거나 변환하지 않음
1)RAW
. 작은 크기(2000BYTE)의 이진 자료 저장
.16진수, 2진수 형태로 저장
사용예)
CREATE TABLE EX02_04(
COL1 RAW(2000),
COL2 RAW(1000));
INSERT INTO EX02_04 VALUES(HEXTORAW('EA3C'),'1110101000111100')
SELECT * FROM EX02_04;
2)BFILE
- 4GB 까지 저장가능
- 원본 파일은 데이터베이스 외부에 저장
- 데이터베이스에는 경로와 파일명만 저장
- 원본이 자주 변경되는 경우 적합
사용예) 그림파일을 BFILE 방식으로 저장
(1) 테이블 준비
CREATE TABLE EX02_05(
COL1 BFILE);
(2) 원본 파일 준비
SALAD_02.jpg
(3) 디렉토리 객체 생성(절대경로)
CREATE DIRECTORY 디렉토리별칭 AS '절대경로';
- '디렉토리 별칭': 디렉토리 객체이름
- '절대경로' : 원본파일이 저장된 경로
CREATE DIRECTORY TEST_DIR AS 'D:\A_TeachingMaterial\02_Oracle\work';
(4) 원본 파일 삽입
INSERT INTO EX02_05 VALUES(BFILENAME('TEST_DIR','SALAD_02.jpg'));
SELECT * FROM EX02_05;
3)BLOB(Binary LARGE OBject)
- 4GB 까지 저장가능
- 원본 파일은 데이터베이스 외부에 저장
- 원본이 자주 변경되지 않는 경우 적합
사용예)BLOB 타입에 이진자료 저장순서
(1) 저장공간 확보
CREATE TABLE EX02_06(
COL1 BLOB);
(2) 원본파일 준비
SALAD_02.jpg
(3)디렉토리 객체 생성
TEST_DIR
(4)자료삽입(PROCEDURE나 익명 블록
CREATE OR REPLACE PROCEDURE BLOB_INSERT(V_FILENAME IN VARCHAR2)
IS
V_BLOB BLOB;
V_BFILE BFILE;
V_OFFSET NUMBER :=1;
V_DEST_OFFSET NUMBER :=1;
BEGIN
V_BFILE := BFILENAME('TEST_DIR',V_FILENAME);
INSERT INTO EX02_06(COL1) VALUES(EMPTY_BLOB())
RETURN COL1 INTO V_BLOB;
DBMS_LOB.OPEN(V_BFILE, DBMS_LOB.LOB_READONLY);
DBMS_LOB.LOADBLOBFROMFILE(V_BLOB,V_BFILE,DBMS_LOB.GETLENGTH(V_BFILE),
V_DEST_OFFSET, V_SRC_OFFSET);
DBMS_LOB.CLOSE(V_BFILE);
COMMIT;
END;
EXECUTE BLOB_INSERT('SALAD_02.jpeg');
|
cs |
테이블 수정(ALTER 문)
테이블명 변경, 제약사항 변경, 수정, 삭제 및 많은 사항의 변경 가능
한번 바뀌면 ROLLBACK 되지 않음
이미 테이블에 데이터가 저장되어있다면 변경 불가
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
|
2024-0906-02)ALTER
1. 테이블명 변경
ALTER TABLE old_table_name RENAME TO new_table_name;
사용예)CUST 테이블을 CUSTOMER로 변경하시오
ALTER TABLE CUST RENAME TO CUSTOMER;
2. 컬럼 변경
ALTER TABLE 테이블명 ADD|MODIFY|DROP ~~
1)ADD
.컬럼을 추가
ADD(컬럼명 데이터타입[(크기)] [NOT NULL][default 값]);
사용예)HR계정의 EMPLOYEES 테이블에 EMP_NAME 컬럼을 추가하시오.
데이터 타입은 VARCHAR2 이고 크기는 46BYTE이다
ALTER TABLE HR.EMPLOYEES ADD(EMP_NAME VARCHAR2(46));
UPDATE HR.EMPLOYEES
SET EMP_NAME = FIRST_NAME||' '||LAST_NAME;
COMMIT;
SELECT FIRST_NAME||' '||LAST_NAME
FROM EMPLOYEES;
2)컬럼삭제 -DROP
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
사용예)ORDERS테이블에서 ORDER_DATE 컬럼을 삭제하시오
ALTER TABLE ORDERS DROP COLUMN ORDER_DATE;
ALTER TABLE ORDERS DROP CONSTRAINT FK_ORDERS_CUST;
3)테이블 수정
- 컬럼명 변경, 컬럼의 자료 타입 및 크기 변경, 컬럼의 제약사항 변경
ALTER TABLE 테이블명 MODIFY COLUMN (컬럼명,데이터 타입[(크기)][NOT NULL][dafault 값])
사용예)HR계정의 EMP_NAME 컬럼의 타입을 CHAR(30)으로 변경하시오
ALTER TABLE HR.EMPLOYEES MODIFY(EMP_NAME CHAR(30));
ALTER TABLE HR.EMPLOYEES MODIFY(EMP_NAME VARCHAR2(30));
UPDATE HR.EMPLOYEES
SET EMP_NAME=TRIM(EMP_NAME);
COMMIT;
SELECT EMPLOYEE_ID,EMP_NAME, SALARY
FROM HR.EMPLOYEES;
COMMIT;
4)테이블 컬럼 이름 수정
-ALTER TABLE 테이블명 RENAME COLUMN old_column_name TO new_column_name;
사용예)CUSTOMER 테이블의 CUST_ADDRESS 컬럼명을 CUST_ADDR로 변경
ALTER TABLE CUSTOMER RENAME COLUMN CUST_ADDRESS TO CUST_ADDR;
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
2024-0906-03) 테이블 삭제
- DROP TABLE 명령으로 삭제
- 자식테이블이 있는 부모테이블은 삭제 불가
사용형식)
DROP TABLE 테이블명[CASCADE CONSTRAINT];
'CASCADE CONSTRAINT' : 기본키를 참조하는 외래키 조건도 같이 삭제
사용예) customer 테이블을 삭제하시오.
DROP TABLE CUSTOMER;
사용예) ORDERS 삭제하시오.
DROP TABLE ORDERS CASCADE CONSTRAINT;
|
cs |
외래키 추가
'개발 > 대덕인재개발원' 카테고리의 다른 글
대덕240909-자바:반복문2/DB:명령,연산자 (0) | 2024.09.09 |
---|---|
대덕240906-자바:조건문 /DB:데이터 타입, 테이블 수정 (4) | 2024.09.09 |
대덕240905- 자바:연산자/DB:데이터 타입 (0) | 2024.09.05 |
대덕240904-자바:타입 변환/DB:테이블 (4) | 2024.09.04 |
대덕 240903-자바:변수/DB:데이터베이스 개념 (7) | 2024.09.03 |