[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 |