ROUND(숫자 |칼럼명 [,소숫점위치]):반올림
--전 직원 급여 평균
SELECT ROUND(AVG(SALARY)) FROM EMPLOYEE;
FLOOR(숫자 |컬럼명) : 내림
FLOOR(AVG(SALARY))
-- 급여 합계 평균 정수처리
EXTRACT:년,월,일 정보를 추출하여 리턴
EXTRACT(YEAR FROM 날짜) : 년도만 추출
EXTRACT(MONTH FROM 날짜) : 월만 추출
EXTRACT(DAY FROM 날짜) : 일도만 추출
SELECT EXTRACT(DAY FROM SYSDATE)FROM DUAL;
-> 13출력
SUBSTR('문자열'|컬럼명, 잘라내기 시작할 위치 [,잘라낼 길이])
컬럼이나 문자열에서 지정한 위치부터 지정된 길이만큼 문자열을 잘라내서 반환
-> 잘라낼 길이를 생략 시 끝까지 잘라냄
SUBSTR(EMP_NO,8,1) = '2'
-- 주민번호 성별이 여자 (200101-1234567)
JOIN
다를 경우 : JOIN ______ ON ( = )
같을 경우 : JOIN ______ USING ( )
* NULL 값이 포함되지 않아 ! RIGHT / LEFT 추가해주면 된다.
DML
삽입
1) 전체 컬럼값 삽입 (순서중요!)
INSERT INTO 테이블명 VALUES (데이터, 데이터,..)
2) 지정한 컬럼값만 삽입
INSERT INTO 테이블명(컬럼명, 컬럼명) VALUES (데이터,데이터)
수정
UPDATE 테이블명 SET 컬럼명 = 바꿀값 [WHERE 컬럼명 비교연산자 비교값]
* 조건절[WHERE 칼럼명 비교연산자 비교값] 을 잘 작성하지 않는다면 모든 값이 수정됨
삭제
DELETE FORM 테이블명 WHERE 조건 설정
TCL
1) COMMIT : 메모리 버퍼(트랜젝션)에 입시 저장된 변경사항을 DB에 반영
2) ROLLBACK : 메모리 버퍼(트렌젝션)에 임시 저장된 데이터 변경 사항을
삭제하고 마지막 COMMIT 상태로 돌아간다.
3) SAVEPOINT : 메모리버퍼(트랜젝션)에 저장 지점을 정의 하여 ROLLBACK 수행 시
전체 작업을 삭제하는 것이 아닌 저장지점까지만 일부 ROLLBACK
[SAVEPOINT 사용법]
SAVEPOINT 포인트명 1;
...
SAVEPOINT 포인트명 2;
...
ROLLBACK TO 포인트명 1; -> 포인트 1 지점까지 데이터 변경사항 삭제
DDL
생성
1) CREATE
● 테이블 생성
CREATE TABLE 테이블명 (
컬럼명 자료형(크기),
컬럼명 자료형(크기),
...);
CREATE TABLE SAMPLE{
MEMBER_ID VARCHAR2(20),
MEMBER_PWD VARCHAR2(20),
MEMBER_SSN CHAR(14)
}
* 주민등록번호의 데이터 타입을 NUMBER로 지정할 경우 앞에 0이 사라지는 문제점이 있다!
이를 해결하기 위해서 CHAR(14)로 지정 해주면 된다.
● 컬럼에 주석
COMMENT ON COLEMN 테이블명.컬럼명 IS '주석내용';
1, NOT NULL ( NULL 값 없어어야함)
컬럼레벨에서만 제한
USER_NO NUMBER NOT NULL
2-1. UNIQUE( 중복 X NULL은 중복 가능)
컬럼 / 테이블 레벨에서 설정 가능
USER_ID VARCHAR2(20) CONSTRAINT USER_ID_U UNIQUE,
CONSTRAINT USER_ID_U UNIQUE(USER_ID)
2-2. UNIQUE (복합키)
테이블레벨에서만 지정
CONSTRAINT USER_ID_NAME_U UNIQUE(USER_ID, USER_NAME)
3-1. PRIMARY KEY ( 기본키 중복 X NULL 값이 X)
컬럼 / 테이블레벨에서 설정 가능
USER_NO NUMBER PRIMARY KEY
CONSTRAINT USE_NO_PK PRIMARY KEY(USER_NO)
3-2. PRIMARY KEY (복합키)
테이블 레벨만 가능
CONSTRAINT PK_USERNO_USERID PRIMARY KEY(USER_NO, USER_ID)
4. FOREIGN KEY(외부키)
컬럼명 : 컬럼명 자료형(크기) [CONSTRAINT 이름] REFERENCES 참조할 테이블명 [(참조할컬럼)]
테이블 : [CONSTRAINT 이름] FOREIGN KEY (적용할컬럼명) REFERENCES 참조할테이블명 [(참조할컬럼)] [삭제룰]
5.CHECK
CHECK(GENDER IN ('남','여'))
여자라는 값으로 넣으면 위배된다.
'ON > Oracle' 카테고리의 다른 글
[Oracle] 복습 (1) | 2023.06.06 |
---|---|
[Oracle] VIEW | SEQUENCE | INDEX (0) | 2023.05.24 |
[Oracle] DAY25_데이터 딕셔너리 | ALTER (0) | 2023.05.23 |
[Oracle] DAY25_데이터 딕셔너리 | 제약조건 (0) | 2023.05.23 |
[Oracle] DAY24_데이터 딕셔너리 | CREATE (0) | 2023.05.22 |
ROUND(숫자 |칼럼명 [,소숫점위치]):반올림
--전 직원 급여 평균
SELECT ROUND(AVG(SALARY)) FROM EMPLOYEE;
FLOOR(숫자 |컬럼명) : 내림
FLOOR(AVG(SALARY))
-- 급여 합계 평균 정수처리
EXTRACT:년,월,일 정보를 추출하여 리턴
EXTRACT(YEAR FROM 날짜) : 년도만 추출
EXTRACT(MONTH FROM 날짜) : 월만 추출
EXTRACT(DAY FROM 날짜) : 일도만 추출
SELECT EXTRACT(DAY FROM SYSDATE)FROM DUAL;
-> 13출력
SUBSTR('문자열'|컬럼명, 잘라내기 시작할 위치 [,잘라낼 길이])
컬럼이나 문자열에서 지정한 위치부터 지정된 길이만큼 문자열을 잘라내서 반환
-> 잘라낼 길이를 생략 시 끝까지 잘라냄
SUBSTR(EMP_NO,8,1) = '2'
-- 주민번호 성별이 여자 (200101-1234567)
JOIN
다를 경우 : JOIN ______ ON ( = )
같을 경우 : JOIN ______ USING ( )
* NULL 값이 포함되지 않아 ! RIGHT / LEFT 추가해주면 된다.
DML
삽입
1) 전체 컬럼값 삽입 (순서중요!)
INSERT INTO 테이블명 VALUES (데이터, 데이터,..)
2) 지정한 컬럼값만 삽입
INSERT INTO 테이블명(컬럼명, 컬럼명) VALUES (데이터,데이터)
수정
UPDATE 테이블명 SET 컬럼명 = 바꿀값 [WHERE 컬럼명 비교연산자 비교값]
* 조건절[WHERE 칼럼명 비교연산자 비교값] 을 잘 작성하지 않는다면 모든 값이 수정됨
삭제
DELETE FORM 테이블명 WHERE 조건 설정
TCL
1) COMMIT : 메모리 버퍼(트랜젝션)에 입시 저장된 변경사항을 DB에 반영
2) ROLLBACK : 메모리 버퍼(트렌젝션)에 임시 저장된 데이터 변경 사항을
삭제하고 마지막 COMMIT 상태로 돌아간다.
3) SAVEPOINT : 메모리버퍼(트랜젝션)에 저장 지점을 정의 하여 ROLLBACK 수행 시
전체 작업을 삭제하는 것이 아닌 저장지점까지만 일부 ROLLBACK
[SAVEPOINT 사용법]
SAVEPOINT 포인트명 1;
...
SAVEPOINT 포인트명 2;
...
ROLLBACK TO 포인트명 1; -> 포인트 1 지점까지 데이터 변경사항 삭제
DDL
생성
1) CREATE
● 테이블 생성
CREATE TABLE 테이블명 (
컬럼명 자료형(크기),
컬럼명 자료형(크기),
...);
CREATE TABLE SAMPLE{
MEMBER_ID VARCHAR2(20),
MEMBER_PWD VARCHAR2(20),
MEMBER_SSN CHAR(14)
}
* 주민등록번호의 데이터 타입을 NUMBER로 지정할 경우 앞에 0이 사라지는 문제점이 있다!
이를 해결하기 위해서 CHAR(14)로 지정 해주면 된다.
● 컬럼에 주석
COMMENT ON COLEMN 테이블명.컬럼명 IS '주석내용';
1, NOT NULL ( NULL 값 없어어야함)
컬럼레벨에서만 제한
USER_NO NUMBER NOT NULL
2-1. UNIQUE( 중복 X NULL은 중복 가능)
컬럼 / 테이블 레벨에서 설정 가능
USER_ID VARCHAR2(20) CONSTRAINT USER_ID_U UNIQUE,
CONSTRAINT USER_ID_U UNIQUE(USER_ID)
2-2. UNIQUE (복합키)
테이블레벨에서만 지정
CONSTRAINT USER_ID_NAME_U UNIQUE(USER_ID, USER_NAME)
3-1. PRIMARY KEY ( 기본키 중복 X NULL 값이 X)
컬럼 / 테이블레벨에서 설정 가능
USER_NO NUMBER PRIMARY KEY
CONSTRAINT USE_NO_PK PRIMARY KEY(USER_NO)
3-2. PRIMARY KEY (복합키)
테이블 레벨만 가능
CONSTRAINT PK_USERNO_USERID PRIMARY KEY(USER_NO, USER_ID)
4. FOREIGN KEY(외부키)
컬럼명 : 컬럼명 자료형(크기) [CONSTRAINT 이름] REFERENCES 참조할 테이블명 [(참조할컬럼)]
테이블 : [CONSTRAINT 이름] FOREIGN KEY (적용할컬럼명) REFERENCES 참조할테이블명 [(참조할컬럼)] [삭제룰]
5.CHECK
CHECK(GENDER IN ('남','여'))
여자라는 값으로 넣으면 위배된다.
'ON > Oracle' 카테고리의 다른 글
[Oracle] 복습 (1) | 2023.06.06 |
---|---|
[Oracle] VIEW | SEQUENCE | INDEX (0) | 2023.05.24 |
[Oracle] DAY25_데이터 딕셔너리 | ALTER (0) | 2023.05.23 |
[Oracle] DAY25_데이터 딕셔너리 | 제약조건 (0) | 2023.05.23 |
[Oracle] DAY24_데이터 딕셔너리 | CREATE (0) | 2023.05.22 |