1.1 Table 의 data type의 정의와 종류
data type - 데이터 타입은, 테이블 컬럼을 정의하거나, 프로시져 / 함수의 인자에 사용되는 값이 저장되는 방식을 결정합니다.
2.5.1 내장 데이터 타입
Character Data Type - char, nchar, varchar2, nvarchar2, clob
Number Data Type – Number
Date Data Type - Date, Interval, Timestamp
Binary Data Type - Blob, BFile, Raw, Long Raw
2.5.2 사용자 정의 데이터 타입
Object Type - 데이터 타입과 이 데이터들을 조작하기 위한 함수 혹은 프로시져를 묶어 서 사용자가 정의한 새로운 데이터 타입
Collection Data Type - VARRAY와 NESTED TABLE
Reference Data Type - 다른 Object를 참조
1.2 Table
-데이터베이스에 데이터 저장을 위해 이용되는 객체이며, 행(row)와 열 (column)을 통해 spread sheet 형식으로 데이터를 표시.
-비록 "테이블" 이라는 말이 더 많이 사용되지만 테이블의 형식어는 "릴레이션" 입니다.
2.6.1 CREATE, INSERT, SELECT, UPDATE, DELETE
1. CREAT
CREATE TABLE TABLE_NAME(col_name data_type) 형식으로 테이블 생성 create table mw_addr ( title varchar2(20), name varchar2(20) not null, inter_no varchar2(10), cell_no varchar2(30) constraint pk_cell primary key not null, birthday varchar2(20), email varchar2(30), nateon varchar2(30) not null, google_mail varchar2(30), home_no varchar2(30));
|
2. INSERT
-모든 데이터를 입력할 경우 SQL>INSERT INTO EMP VALUES(7369, 'SMITH', 'CLERK', 7902, TO_DATE('80/12/17'), 800, NULL, 20);
-원하는 데이터만 입력할 경우 SQL>INSERT INTO DEPT (DEPTNO, DNAME) VALUES(10, 'ACCOUNTING' );
|
3. SELECT
SQL>INSERT INTO DEPT SELECT * FROM SCOTT.DEPT ;
* SELECT 옵션 à DISTINCT : 중복되는 행을 제거하는 옵션 * SELECT 선택절 à -WHERE : 어떤 열을 불러올 지를 지정. -GROUP BY : 연산 함수가 각 그룹에 적용되도록 하기 위해 속성을 그룹 열에 공유하는 것 -HAVING : GROUP BY 절에서 정의된 그룹들 중에서 검색 -ORDER BY : 반환하는 열에 순서를 지정
SQL>SELECT COUNT(EMP_ID), DEPT_ID from EMP GROUP BY DEPT_ID HAVING COUNT(EMP_ID) > 1 ORDER BY DEPT_ID;
|
4. UPDATE
SQL>UPDATE EMP SET DEPTNO = 30 WHERE EMPNO = 7902 ; SQL>UPDATE EMP SET HIREDATE = SYSDATE;
|
5. DELETE
SQL>DELETE FROM EMP WHERE SAL < (SELECT AVG(SAL) FROM EMP) ; SQL>DELETE FROM EMP ; |
2.6.2 테이블 복사
-기존 테이블을 부분, 또는
완전히 복사할 때에 서브쿼리를 가진 CREATE TABLE 명령어를 사용해서 테이블을 복사 할 수 있습니다.
-하지만 제약 조건, 트리거, 그리고 테이블
권한은 새로운 테이블로 복사되지 않습니다.
-제약조건은 NOT NULL제약조건만 복사 됩니다.
Ex) SQL>CREATE TABLE emp2 AS SELECT * FROM emp;
|
2.6.3 테이블 컬럼 관리(ADD, MODIFY, DROP)
ADD연산자 |
-새로운 컬럼 추가
EX) SQL>ALTER TABLE emp ADD (addr VARCHAR2(50)); |
MODIFY연산자 |
-컬럼을 수정 하거나 NOT NULL컬럼으로 변경
EX) SQL>ALTER TABLE emp MODIFY (ename VARCHAR2(50) NOT NULL) ; |
DROP연산자 |
-컬럼 삭제
EX) SQL>ALTER TABLE table_name DROP COLUMN column_name |
Oracle Database의 기본 개념-3 보러가기 > 클릭
'Database > Oracle' 카테고리의 다른 글
ORACLE 대소문자 구분없이 검색하는방법 (예제로 설명) (0) | 2018.12.14 |
---|---|
Oracle Database의 기본 개념-3 (0) | 2016.11.15 |
Oracle Database의 기본 개념-1 (0) | 2016.11.15 |
ORACLE DB 시작 및 중지 / 리스너 시작 및 중지 하는방법 (1) | 2016.10.26 |
[ORACLE] ORA-08002: XX.CURRVAL은 이 세션에서는 정의 되어있지 않습니다. / 시퀀스 조회 및 생성 (0) | 2016.08.09 |