DBMS & SQL 기본개념과 정의 Oracle Database
https://developernew.tistory.com/57
DBMS & SQL 기본개념과 정의 Oracle Database
DB(DataBase) : 다량의 데이터를 저장할 수 있는 저장소 DBMS(DataBase Management System) : DB에 데이터를 저장하고 관리하는 시스템 ex. Oracle(Oracle), MySQL, MS-SQL Server(MS), DB2(IBM), SQLite, MariaDB, ... SQL(Structured Query
developernew.tistory.com
DBMS SQL Oracle Database CRUD - DDL 테이블, 휴지통
https://developernew.tistory.com/58
DBMS SQL Oracle Database CRUD - DDL
https://developernew.tistory.com/57 DBMS & SQL 기본개념과 정의 Oracle Database DB(DataBase) : 다량의 데이터를 저장할 수 있는 저장소 DBMS(DataBase Management System) : DB에 데이터를 저장하고 관리하는 시스템 ex. Oracle(
developernew.tistory.com
CRUD - 생성, 읽기, 수정, 삭제 (DML)
CRUD - 생성, 읽기, 수정, 삭제
DML에 대한 CRUD
C : insert
R : select
U : update
D delete
DML에서의 CRUD
레코드(데이터) 추가
insert into 테이블(필드1, 필드2, 필드3, ...) values(데이터1, 데이터2, 데이터3, ...);
insert into sample(num, name, reg) values (1, '김민준', to_date('2023-03-08'));
insert into sample(reg, num) values(sysdate, 3);
* 12C 이상부터 일반 유저에게 table에 입력할 수 있는 권한을 주지 않으므로
별도의 권한을 함께 주어야 데이터를 입력할 수 있다
alter user 계정명 default tablespace users quota unlimited on users;
alter user c##jsp01 default tablespace users quota unlimited on users;
트랜젝션
하나의 작업 단위
DML에 한해서 작동이 된다
작업 저장 : commit;
작업 되돌리기 : rollback;
sequence 시퀀스
오라클에서만 존재
어떤 중복되지 않는 번호를 붙일 때 사용하는 객체
생성
create sequence 시퀀스명 옵션1 옵션2 옵션3 ... ;
** 콤마가 아닌 스페이스로 옵션명 지정
create sequence sample_seq;
옵션
start with 시작값
minvalue 최소값
maxvalue 최대값
increment by 증감값
cycle / nocycle
order / noorder
cache / nocache
(default 값)
start with 시작값 ; 1 (LAST_NUMBER)
minvalue 최소값 ; 1 ;
maxvalue 최대값 ; 1.000E-28 ; 최대 28자리까지 쓸 수 있다
increment by 증감값 ; 1
cycle / nocycle ; nocycle
order / noorder ; noorder
cache / nocache ; 20
minvale를 바꾸면 start with값이 바뀐다
start with 값을 바꾸어도 minvalue 값은 바뀌지 않는다
ex. 캐쉬를 주지 않고 시작값을 1로, 최대값은 100까지 변화는 3씩인 시퀀스를 만들어라
-> alter sequence sample_seq maxvalue 100 increment by 3;
시퀀스 확인
select * from user_sequences;
시퀀스 추출
시퀀스명.nextval
insert into sample(num, name, reg) values (sample_seq.nextval, '김땡땡', to_date('2023-03-08'));
insert into sample values (sample_seq.nextval, '마동석', '2023-03-08');
insert into sample(reg, num) values (sysdate, sample_seq.nextval);
num sequence가 3 단위로 증가하는 것을 볼 수 있다
시퀀스 삭제
delete sequence
Exercise 1
다음의 조건에 부합하는 테이블을 구현하세요
테이블명 : testmember
항목 : 번호(no) - 숫자 형태
이름(name) - 가변 문자열 최대 한글 10글자
아이디(id) - 가변 문자열 최대 영문 20글자
비밀번호(pw) - 가변 문자열 최대 영문 20글자
마일리지(money) - 숫자 형태
가입일(joindate) - 날짜 형태
번호를 부여할 수 있는 시퀀스를 생성하세요(testmember_seq)
-> 캐시 사이즈 0, 시작번호 1, 증가 간격 1로 설정
위의 형식에 맞게 테이블 생성 후 메모장 파일의 데이터 시트를 추가하세요
가변문자열(varchar2) 항목을 간격조절 하신다음 목록까지 출력하시면 완성
간격조절방법 : col 항목명 for a크기; (크기는 a10, a5 와 같이 지정)
예를들어 name 항목의 크기를 조절하고 싶으면 col name for a10;
STEP1 테이블 생성
create table testmember (
no number,
name varchar2(30),
id varchar2(20),
pw varchar2(20),
money number,
joindate date
);
STEP2 시퀀스 생성
create sequence tsetmember_seq nocache;
STEP3 필드 데이터 입력
STEP4 가변문자열 항목 조정
col 항목명 for a숫자(간격);
col name for a15;
col name for a10;
col 항목명 for 99999(자리수);
// 숫자행 간격 잘못 조절한 경우
STEP5 목록 출력
'DB > DBMS & SQL' 카테고리의 다른 글
DBMS SQL Oracle Database 연산자 (0) | 2023.03.10 |
---|---|
DBMS SQL Oracle Database 오라클 내장함수 (0) | 2023.03.09 |
DBMS SQL Oracle Database CRUD - DML 데이터 조건 검색 (0) | 2023.03.08 |
DBMS SQL Oracle Database CRUD - DDL 테이블, 휴지통 (0) | 2023.03.08 |
DBMS & SQL 기본개념과 정의 Oracle Database (0) | 2023.03.07 |