일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #자바 #오라클 #JDBC
- #웹 #HTTP 프로토콜
- #오라클 #용어 정리 #데이터 타입 #비교 연산자 #논리 연산자 #SELECT 문
- #Web #웹 #jsp #servlet
- #스프링 프레임 워크 #인코딩 #컨텍스트 #환경설정
- #HTML4.01또는 5의 차이 #parsing #웹브라우저 #form 태그 #태그 속성 #id #name
- #함수 #VIEW #시퀀스 #INDEX
- #오라클 #11g #테이블
- #48일차 #한 내용 #요약
- #jdbc #자바
- #자바 #파일 #함수
- #스윙 #함수 #Swing
- #자바
- #함수 #키워드 #조인 #서브쿼리
- #자바 #입출력 #함수
- #제약 조건 #함수 #컬럼 변경 #테이블 변경& 삭제
- #웹 #정의 #5대 브라우저 #
- #프로그래밍 기초
- #오라클 #함수 #MAX() #MIN() #LPAD() #SUBSTR() #TO_CHAR() #복사 #지우기 #수정
- #BigDecimal
- #StringBuffer #자바 #
- #자바 #입출력
- #자바 #오라클 #연동
- #오라클 #계정 생성 #테이블 #생성 #조회 #추가
- #돔 트리 #form 태그 #이스케이프문자 #시작태그 #form태그
- #Ajax #EL #JSTL
- #리뷰 #CSS #선택자
- #오라클 #자바 #연동
- #웹 #중요한 것
- #자바 #스윙관련 함수 #API보고 정리했음
- Today
- Total
IT journey
36일차 제약 조건, 함수, 컬럼 변경, 테이블 변경& 삭제 본문
30일차 테이블 복사, 지우기,수정, 함수 이용한 채번 로직
29일차 계정 생성하고 테이블 만들고 값 추가하는 방법
28일차 오라클에 기록한 내용을 JAVA에 뿌려주려면?
2021.08.02 - [끄적끄적/Oracle] - 26일차 용어 정리& SELECT
2021.07.31 - [끄적끄적/Oracle] - 25일차 테이블과 조회
2021.06.10 - [개인공부공간/DBMS] - DBMS - 개요
2021.06.11 - [개인공부공간/DBMS] - DBMS-Table&레코드와 시퀀스
2021.06.12 - [개인공부공간/DBMS] - DBMS- 오라클 함수 1편
2021.06.14 - [개인공부공간/DBMS] - DBMS-계정권한
2021.06.14 - [개인공부공간/DBMS] - DBMS-데이터를 검색,수정,삭제(feat.오라클 함수 2편)
2021.06.15 - [개인공부공간/DBMS] - DBMS-서브쿼리, join, 제약조건, 뷰
1. 제약조건
오라클 DML 문장에서 일어나는 일입니다.
이 제약조건에 대한 타입을 정리해보면 아래와 같습니다.
1. P : PRIMARY KEY
2. R : FOREIN KEY
3. C : CHECK OR NOT NULL
4. U : UNIQUE
PRIMARY KEY = NOT NULL + UNIQUE로 값이 없으면 안되고(=NULL) 같은 값이 들어가면 무결성 제약 조건에 위배됩니다.
아래 쿼리문을 작성 시 해당 유저가 가지고 있는 컬럼에 해당되는 제약조건에 대한 정보를 볼 수 있습니다.
SELECT *
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = "테이블이름";
아래 쿼리문을 작성 시 제약조건이름과 연관된 컬럼을 볼 수 있는 데이터 딕셔너리를 볼 수 있습니다.
SELECT * FROM USER_CONS_COLUMNS
WHERE TABLE_NAME = "테이블명";
테이블을 만들 때 CHECK나 DEFALUT를 지정하게 되면
CHECK의 경우에는 저장 가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만을 허용하게 되고
DEFALUT의 경우에는 입력하지 않으면 정해진 값을 입력하게 됩니다.
2. 함수
(1) DUMP 함수
DUMP(expression,[,return_format][,start_position][,length])
DUMP 함수는 데이터타입, 바이트 길이 및 expression의 내부 표현 정보를 VARCHAR2 형식으로 반환하는 함수입니다. 이 함수를 쓰는 이유는 띄어쓰기가 잘 안보이므로 이를 통해 해당 아스키코드를 확인하려고 씁니다.* return format
8 | 8진법 |
10 | 10진법 |
16 | 16진법 |
17 | 단일문자 |
1008 | 문자셋(문자인코딩)과 8진법 |
1010 | 문자셋과 10진법 |
1016 | 문자셋과 16진법 |
1017 | 문자셋과 단일문자 |
(2) LENGTH 함수
한글이나, 영어나 상관없이 1BYTE로 계산해 문자 길이를 보여주는 함수입니다.
(3) LENGTHB 함수
한글은 자신의 시스템 문자셋에 따라 2BYTE가 나오기도 하고 3BYTE가 나오고
영어는 1BYTE로 나와 그를 이용해 문자길이를 계산해 보여주는 함수입니다.
(4) GREATEST 함수는 인자 중 최대값을 반환해야 할 때 쓰는 함수입니다.
(5) LEAST 함수는 인자 중 최소값을 반환해야 할 때 쓰는 함수입니다.
(6) UID 함수는 현재 사용자의 유일한 ID 번호를 반환하는 함수입니다.
(7) USER 함수는 현재 오라클 사용자를 VARCHAR2 형식으로 반환하는 함수입니다.
(8) USERENV 함수는 현재 세션의 환경정보를 반환하는 함수입니다.
(9) ENTRYID 함수는 사용 가능한 Auditing entry Indetifier를 반환하는 함수입니다.
(10) LABEL 함수는 현재 세션의 Label를 반환하는 함수입니다.
(11) LANGUAGE 함수는 현재 세션에서 사용중인 언어와 디렉토리 값을 반환하는 함수입니다.
(12) SESSIONID : Auditing(감사) Session ID를 반환하는 함수입니다.
(13) TERMINAL : 현재 세션 터미널의 OS ID를 반환하는 함수입니다.
(14) VSIZE : 해당 문자의 BYTE 수를 반환할 때 해당 문자가 NULL를 반환하고 그것이 아니면 BYTE 수를 반환합니다.
(15) TRIM
TRIM ('제거할 문자' FROM '문자')이면 양쪽 다 제거합니다.
이를 통해 TRIM (BOTH '제거할 문자' FROM '문자')가 디폴트인 것을 알 수 있습니다.
TRIM(LEADING '제거할 문자' FROM '문자') 이면 앞만 제거합니다.
TRIM(TRALLING '제거할 문자' FROM '문자') 이면 뒤만 제거합니다.
(16) CONCATECONCAT('문자1','문자2') 이면 문자1과 문자2를 붙이는 함수입니다.
(17) INSTR : 검색할 때 쓰는 함수입니다.INSTR('문자','검색할 문자') 이면 검색할 문자의 위치를 반환하고INSTR('문자','검색할 문자',위치1,위치2) 이면 검색할 문자를 위치1에서부터 위치2로 발견된 검색할 문자 위치 반환하는 함수입니다.
(18) ABS() : 절댓값 함수입니다.
(19) ROUND() : 반올림하는 함수입니다.
(20) TRUNC() : 절사하는 함수입니다.
(21) FLOOR() : 다 떼어버리는 함수입니다.
(22) MOD() : 나머지 연산자에 대한 함수입니다.
(23) REPLACE(문자열, 바꿀 문자열, 바뀔문자열) : 바꿀 문자열을 바뀔문자열로 바꾸어라
(24) NVL2(COLUMN, Express1, Express2) : 해당 컬럼이 NULL 이면 Express2의 값을 반환해주고,해당 컬럼이 NULL 이 아니면 Express1의 값을 리턴합니다.
(25) MONTHS_BETWEEN : 개월 수 차감하는 함수입니다.
(26) ADD_MONTHS(날짜, 개월 수) : 해당 날짜로부터 지정된 개월 수뒤의 날짜를 보여주는 함수입니다.
(27) NEXT_DAY('기준일자','찾을요일') : 기준일자로부터 다음번 지정 요일이 몇일인지 알려주는 함수입니다.
(28) LAST_DAY('기준일자') : 기준일자에 해당하는 달을 기준으로 그 해당하는 달의 마지막 날짜를 알려주는 함수입니다.
(29) DECODE
DECODE(해당컬럼,조건1, 결과1
,조건2, 결과2)
조건1이면 결과1을 보여주고 조건2이면 결과2를 보여주는 함수입니다.
(30) CASE WHEN
CASE WHEN [조건1] THEN [결과1]
ELSE [결과2]
END AS [컬럼]
조건 1이면 결과1 대로 하고 그 외에는 결과2 처럼하며 이에 대한 결과에 대한 컬럼은 컬럼으로 하겠다는 함수입니다.
3. 컬럼변경
컬럼을 추가하면 항상 맨 뒤에 붙습니다.
(1) 해당 컬럼에 데이터가 없는 경우
컬럼의 데이터 타입도 변경 가능& 컬럼의 크기도 변경 가능합니다.
(2) 해당 컬럼에 데이터가 있는 경우
데이터 타입 변경하지 마세요.
(3) 컬럼을 삭제할 때는 아래 쿼리를 이용하면 됩니다.
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
4. 테이블 변경 & 삭제
(1) 테이블명을 변경할 때는 아래 쿼리를 이용합니다.
RENAME 테이블명 TO 바꿀 테이블명;
(2) 테이블 구조 삭제할 때는 데이터 삭제 시 무결성 제약조건 체크해야 하고
삭제대상 테이블이 다른 테이블과 KEY가 연결 되어있을 경우에는 연결된 조건을 확인하며 순서대로 지워야 합니다. 그 때는 아래 쿼리를 이용해야 합니다.
DROP TABLE 테이블명;
'끄적끄적 > Oracle' 카테고리의 다른 글
35일차 함수, 오라클 오브젝트, 인덱스 (2) | 2021.08.13 |
---|---|
34일차 조인, 서브쿼리(feat. 그 외) (0) | 2021.08.12 |
30일차 테이블 복사, 지우기,수정, 함수 이용한 채번 로직 (2) | 2021.08.08 |
29일차 계정 생성하고 테이블 만들고 값 추가하는 방법 (0) | 2021.08.07 |
26일차 용어 정리& SELECT (4) | 2021.08.02 |