본문 바로가기
Database/Oracle

Oracle Database의 기본 개념-2

by 나비와꽃기린 2016. 11. 15.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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 보러가기 > 클릭