C#,Delphi,Oracle,MSSQL 개발자블로그
[Oracle/기본]10. 테이블 생성과 관리 본문
● 데이터베이스 객체
- Table : 행과 열로 구성된 기본적인 저장매체의 단위
- View : 하나 이상의 테이블로부터 데이터의 부분집합을 논리적으로 표현
- Sequence : 기본 키 값을 발생
- Index : 어떤 질의의 성능을 향상
- Synonym : 객체에 대체 이름을 부여
● 이름 지정 규칙
- 문자로 시작해야한다.
- 문자 길이는 1-30이어야 한다.
- 오직 A-Z, a-z, 0-9, _, $, #만을 포함할 수 있다.
- 동일한 사용자가 소유한 객체의 이름은 중복되어서는 안된다.
- 오라클 서버 예약어는 안된다.
● 테이블 생성
CREATE TABLE [schema.]table
(col1 datatype [DEFAULT expr]
col2 datatype [DEFAULT expr] ...)
Ex. CREATE TABLE dept
(deptno NUMBER(2)
,dname VARCHAR2(14)
,loc VARCHAR2(13));
- 테이블 생성 확인 : DESC dept
* DEFAULT 옵션 : 열에 대한 값 없이 어떤 행을 입력할 경우 NULL값이 열에 입력되지 않도록 한다.
(열에 대한 초기값 설정)
Ex. hiredate DATE DEFAULT SYSDATE
● 데이터형
- VARCHAR2(size) : 가변길이 문자 데이터 (최소크기 1, 최대크기 4000)
- CHAR(size) : 고정길이 문자 데이터 (최소크기 1, 최대크기 2000)
- NUMBER(p,s) : 가변길이 숫자 데이터
p(정밀도) : 1 ~ 38범위.
십진자리수의 최대 개수.
s(스칼라) : -84 ~ 127범위.
소수점 오른쪽의 자리 수.
Ex. number(5,2) 는 최대정수 3자리, 소수자리 2자리의 숫자형 데이터 형식.
- DATE : 날짜와 시간 값
- LONG : 2기가바이트까지의 가변 길이 문자 데이터
- BLOB : 4기가바이트까지의 이진 데이터
- CLOB : 4기가바이트까지의 단일 바이트 문자 데이터
- RAW(size) : size길이의 원시 이진 데이터 (최대크기 2000)
- LONG RAW : 2기가바이트까지의 가변 길이 원시 이진 데이터
- BFILE : 4기가바이트까지의 외부 파일에 저장된 이진 데이터
● 서브쿼리를 사용한 테이블 생성
CREATE TABLE table
(컬럼명1, 컬럼명2, ...)
AS subquery;
- 열이 명시되었다면, 열의 수는 서브쿼리 SELECT 목록에 있는 열의 수와 같아야 한다.
- 열이 명시되지 않았다면, 열 이름은 서브쿼리의 열 이름과 같다.
Ex. CREATE TABLE dept30
AS
SELECT empno, ename, sal1*12 ANNSAL, hiredate
FROM emp
WHERE deptno = 30;
● ALTER TABLE
- 열추가
☞ 새로운 열은 마지막 열이 된다.
ALTER TABLE dept30
ADD (job VARCHAR2(9));
- 열수정
ALTER TABLE dept30
MODIFY (ename VARCHAR2(15));
- 열삭제
ALTER TABLE dept30
DROP(ename);
● 테이블 삭제
- DROP TABLE dept30;
테이블의 모든 데이터와 구조가 삭제된다.
ROLLBACK할 수 없다.(DDL)
- TRUNCATE TABLE dept30;
테이블의 모든 행을 삭제한다.
ROLLBACK할 수 없다.(DDL)
- DELETE FROM dept30;
테이블의 모든 행을 삭제한다.
ROLLBACK할 수 있다.(DML)
☞ View나 Synonym(동의어)은 남지만 무효가 된다.
● 객체 이름 변경
테이블 이름, 뷰, 시퀀스, 동의어(Synonym)를 변경하기 위해, RENAME문장을 실행한다.
RENAME dept TO department;
● 테이블에 주석문 추가
COMMENT ON TABLE emp
IS 'Employee Information'
- 2000바이트 까지 주석문추가 가능하다.
'Programming > Oracle 공부' 카테고리의 다른 글
[Oracle/기본]12. 뷰 생성 (0) | 2017.05.23 |
---|---|
[Oracle/기본]11. 제약조건 포함 (0) | 2017.05.23 |
[Oracle/기본]9. 데이터 조작 (0) | 2017.05.23 |
[Oracle/기본]7. 다중 열 서브쿼리(Subquery) (0) | 2017.05.23 |
[Oracle/기본]6. 서브쿼리(Subquery) (0) | 2017.05.23 |