본문 바로가기
강의/JSP 강의 정리

JSP 강의 정리 12일차

by 리드민 2022. 7. 21.
반응형

[1] 테스트 환경

hardware
cpu : intel i7-7700, gpu : intel hd 630, ram : ddr4 16GB, mainboard : samsung DB400S7A-Z51, secondary storage : 256GB SSD, 1TB HDD
OS
windows pro 64bits
software
jdk version 1.8.0_301
eclipse version 2021-09 (4.21.0)
apache-tomcat version 9.0.54

 

[2] 강의 정리

() DBMS

 

() 오라클 접속

오라클 설치후

cmd에서

sqlplus
sys / as sysdba
:: 사용자 로그인
비밀번호 입력

sys 사용자로 로그인 되게 된다.

 

() 오라클 유저 생성 후 권한 부여

cmd에서 로그인한 상태에서

SQL> create user C##jspuser identified by jsp123;
:: C##jspuser 유저 생성, 비밀번호는 jsp123으로 한다.
SQL> grant connect, resource, dba to C##jspuser;
:: connect, resource, dba 권한을 C##jspuser한테 준다.

() 오라클 자료형

- 문자 데이터타입
char(n) : 고정길이 문자
varchar2(n) : 가변길이 문자
ex) char(3), varchar2(3) : 3 바이트까지 저장할 수 있는 문자열
가변 길이의 경우, 지정사이즈보다 짧은(혹은 작은) 데이터가 입력되더라도
저장공간을 낭비하지 않는다는 특징이 있다.

nchar(n) : 고정길이 유니코드 문자
nvarchar2(n) : 가변길이 유니코드 문자
ex) nchar(3), nvarchar2(3) : 3글자까지 저장할 수 있는 문자열

n의 유무차이
유니코드 지원 : 모든 문자를 2바이트로 저장
한글사용시 n 사용

- 숫자 데이터 타입
number(p, s) : +-38 자릿수의 숫자를 저장할 수 있다.
num(3) : 최대 3자리까지 표현가능한 숫자(-999~999)
number(4,2) : 최대 4자리, 소수이하자리 포함(-99.99~99.99)

-  날짜형 데이터 타입
DATE : 날짜형식의 자료형으로 시, 분, 초까지 표현 가능
TIMESTAMP : 밀리초까지 표현가능

- LOB 데이터 타입(최대 4GB)
CLOB : 문자형 대용량 타입
NCLOCB : 유니코드를 포함한 문자형 대용량 타입
BLOB : 동영상, 사진 등 대용량의 바이너리 데이터 타입

() 테이블 만들기
CREATE TABLE [테이블명] ([컬럼명] [데이터타입] [기본값 - 생략가능] [NULL 허용여부 - 생략가능] ...);

() SQL : 데이터 베이스 질의 언어
SELECT : 검색(보여주는 것)
WHERE : 조건
* : 모든 것
INSERT : 삽입
UPDATE : 수적
DELETE : 삭제
COMMIT : 최종저장
ROLLBACK : 되돌리기

() sql문 예제

select * from tab;
--  해당 데이터상의 모든 테이블 목록이 출력된다.

-- 데이터 추가하기
-- insert into [테이블명](컬럼명1, 컬럼명2,.....) values(데이터1, 데이터2,.....);
-- 컬럼명을 생야할 수 있는데 생략 시 전체 항목의 순서대로 컬럼값을 넣어주면 된다.
-- 오라클 데이터베이스는 문자 컬럼의 값은 작은따옴표를 사용한다.

insert into member (name, id, pw, email, phone, admin) values ('홍길동', 'hong', '1234', 'hong@naver.com', '010-1111-2222', 1);
insert into member values ('성춘향', 'sung', '5678', 'sung@naver.com', '010-1111-3333', 0);
insert into member values ('이순신', 'lee', '1111', 'lee@naver.com', '010-1111-7777', 0);

commit; -- 최종저장

SELECT * FROM member;
-- 테이블 전체 데이터 조회하기

-- SELECT [컬럼명] FROM [테이블명] WHERE [조건]
-- 조건에 맞게 조회하기

SELECT id, pw from member WHERE admin = 1;
SELECT * FROM member WHERE admin = 0;

-- UPDATE [테이블명] SET [컬럼명] = [변경할 값] WHERE [조건]
-- 데이터 수정하기

UPDATE member SET phone = '010-1234-5678' WHERE id = 'hong';
select * from member;

rollback;
-- 되돌리기

-- DELETE FROM [테이블명] WHERE [조건]
-- 데이터 삭제하기

DELETE FROM member WHERE name = '이순신';
-- 행은 전체삭제 일부분만 삭제 불가
select * from member;
-- 멤버 테이블에 행을 모두 출력한다.

commit;
-- 최종 저장

DROP TABLE member;
-- DROP : 테이블 자체를 날려버림
-- DROP TABLE [테이블명]

select * from tab;
-- 모든 테이블에 행을 모두 출력한다.

 

() 예제

member 테이블 만들기 > 데이터 넣기 > 데이터 조회하기 > 데이터 수정하기 > 데이터 삭제하기 > 데이터자체 삭제하기

 

CREATE TABLE member2(
    name NVARCHAR2(10),
    id VARCHAR2(10),
    pw VARCHAR2(10),
    email VARCHAR2(20),
    phone char(20),
    admin number(1) default 0
);
-- member2 테이블 생성

commit;
-- 최종 저장

select * from tab;
-- 모든 테이블의 행을 출력

insert into member2 (name, id, pw, email, phone, admin) values ('김일도', 'kim', '1234', 'kim@naver.com', '010-1111-2222', 1);
-- member2 테이블에 값 저장

insert into member2 values ('김태일', 'tae', '3333', 'tae@naver.com', '010-3424-9999', 0);
-- member2 테이블에 값 저장

commit;
-- 최종 저장

select * FROM member2;
-- 멤버 테이블의 행을 출력

select * from tab;
--  해당 데이터상의 모든 테이블 목록이 출력된다.

select * from member2;

select * from member2 WHERE admin = 0;
-- 멤버 테이블에서 admin이 0인 모든 행을 출력

UPDATE member2 set phone = '010-4353-5523' WHERE id = 'tae';
-- 이름이 tae인 행의 phone 데이터를 019-4353-5523 으로 변경

select * from member2;
-- member2 테이블의 모든 행을 출력

rollback;
-- 되돌리기

DELETE from member2 WHERE name = '김일도';
-- name 데이터가 '김일도'인 모든 행 삭제

drop table member2;
-- member2 테이블 전체삭제
반응형

'강의 > JSP 강의 정리' 카테고리의 다른 글

JSP 강의 정리 14일차  (0) 2022.07.25
JSP 강의 정리 13일차  (0) 2022.07.22
JSP 강의 정리 11일차  (0) 2022.07.20
JSP 강의 정리 10일차  (0) 2022.07.19
JSP 강의 정리 9일차  (0) 2022.07.18