일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sql developer
- alias
- 성적프로그램
- CRUD
- Oracle DB
- JSP
- distinct
- 부트스트랩
- oracle
- 모조칼럼
- HTTP Status 500
- HTML
- Oracle SQL
- group by
- rownum
- github
- ||
- 과정평가형
- SQL
- Java
- HTTP Status 404
- JavaScript
- 답변형 게시판
- tomcat
- 이클립스
- Bootstrap
- jQuery
- 제약조건
- 한글 인코딩
- git
초급의 끄적거림
[SQL] Sequence (시퀀스), 오라클DB 함수 본문
[데이터베이스˙테이블 생성, 삭제]
⊙ 데이터베이스 생성 : creat database DB명; (DB명은 절대 한글 불가)
⊙ 데이터베이스 삭제 : drop database DB명;
⊙ 테이블 생성 : creat table 테이블명;
⊙ 테이블 삭제 : drop table 테이블명;
[Sequence (시퀀스)]
⊙ 참고 : https://ninearies.tistory.com/11?category=840320
⊙ 오라클에서 자동으로 일련번호를 부여 (어떤 DB든지간에 다 존재함)
⊙ 아무 설정이 없으면 처음은 1부터 시작
1) 시퀀스 생성
create sequence 시퀀스명
increament by 증가값
start with 시작값;
increament by 5
start with 1;
→ 시작은 1부터, 5씩 올라가서 1 6 ~~이 됨
2) 시퀀스에서 일련번호 발생 : 시퀀스명.nextval
3) 시퀀스 삭제 : drop sequence 시퀀스명
[오라클 DB의 자료형]
1) 숫자형
⊙ int 표준
⊙ number 정수형
⊙ numer(a,b) 실수형 (b를 포함한 전체 자리수가 a인데 소수점은 b까지 표현)
ex) number(5,2) : 들어갈 수 있는 최대의 수는 999.99
2) 문자형
⊙ char 표준, 고정형 (최대 2000바이트)
ex) 5글자로 잡았는데 'SKY'라고하는 3글자가 들어가게 되면 그대로 2글자는 뒤로 공백으로 남게 됨 → 'SKY '
⊙ varchar 표준, 가변형
ex) varchar(5) 'SKY'가 들어가면 상관없이 'SKY'로 표현됨
아이디, 비번, 이름, 주소 등이 해당, 메모리를 효율적으로 사용할 수 있음
⊙ varchar2 가변형, 오라클에서 만든 표현이지만 들어가면서 varchar로 이해 (최대 4000바이트)
3) 날짜형 (년월시분초)
⊙ date
⊙ sysdate : 현재 시스템의 날짜 함수 (오라클에서 사용하는 것)
[sungjuk 테이블 생성]
⊙ 특정짓지 못하는 테이블은 잘 못 만든 것, 동명이인과 같이 겹치는 상황이 발생할 때는 어려움이 발생
⊙ 시퀀스 이름과 테이블 이름이 같은 경우 설계가 안될 수도 있기 때문에 주의할 것.
※ [cmd 창에서 출력 칸 수 조절하기]
⊙ 단, 자료형 int, number와 같은 숫자를 수정할 경우 #으로 에러 날 수 있음
col uname for a8; -- uname 칼럼을 8칸 내에서 출력
col addr for a6; -- addr 칼럼을 6칸 내에서 출력
[오라클 함수]
⊙ dual 테이블 : 결과값을 일시적으로 출력할 때 유용한 임시 테이블
select lower('Hello World') from dual; -- 소문자로 변환
select upper('Hello World') from dual; -- 대문자로 변환
select concat('Hello', 'World') from dual; -- 두 개의 문자열 연결
select substr('HelloWorld', 6) from dual; -- 문자열의 6번째 자리부터 전체 추출
select substr('HelloWorld',1, 5) from dual; -- 문자열의 1번째 자리부터 5자 추출
select instr('HelloWorld', 'W') from dual; -- 문자열에서 특정문자의 위치를 세는 함수, 만약 특정문자가 문자열에 없다면 0 반환
select trim(' SQLPLUS') from dual; -- 공백을 제거
select ltrim('*SQLPLUS','*') from dual; -- 좌측부터 문자열에서 해당하는 함수를 제거
select rtrim('SQLPLUS*', '*') from dual; -- 우측부터 문자열에서 해당하는 함수를 제거
select replace('SEVLTL', 'L', 'EN') from dual; -- 문자열에서 해당하는 문자를 다른 문자로 바꿔줌
select abs(-7) from dual; -- 절대값
select mod(1500, 200) from dual; -- 1500/200의 나머지
select ceil(1.123) from dual;
select ceil(-1.623) from dual; -- 소수점 첫째자리에서 해당값을 반올림 처리한 정수를 반환하고 해당 값보다는 크지만 가장 근접하는 최소값을 구하는 함수
select floor(1.123) from dual;
select floor(-1.123) from dual; -- 소수점 첫째자리에서 해당 값을 내림 처리한 정수를 반환하고 해당 값보다는 작지만 가장 근접하는 최대값을 구하는 함수
select round(17.825, 2) from dual; -- round(n, m) : 해당 숫자 n에 m자리까지 반올림하는 함수
select round(17.825, 0) from dual;
select round(17.825, -1) from dual;
select trunc(17.825, 2) from dual;
select trunc(17.825, 0) from dual;
select trunc(17.825, -1) from dual;
'DB > Oracle' 카테고리의 다른 글
[SQL] 제약조건 (constraint) 2 (0) | 2019.07.20 |
---|---|
[SQL] Oracle SQL Developer 기본적인 사용법 (0) | 2019.07.20 |
[SQL] Oracle SQL Developer 설치 / 접속 (0) | 2019.07.20 |
[SQL] 제약조건 (constraint) 1 (0) | 2019.07.19 |
[SQL] DCL/DDL/DML 명령어 & 기본 명령어 (0) | 2019.07.19 |