본문 바로가기
Programming/Database

[Database] Table, 테이블

by 공부합시다홍아 2023. 12. 11.
 

[Database] 트랜잭션, Transaction

https://hong-study.tistory.com/294 트랜잭션 ( Transaction ) ● 논리적인 작업의 단위로, 분리되어서는 안될 작업의 단위이다. ▶ 시작은 실행 가능한 첫 번째 SQL문장이 실행 될 때 시작한다. ● 트랜잭션은

hong-study.tistory.com


테이블 생성 ( CREATE )

오라클 데이터베이스 객체 이름을 지정하는 표준 규칙에 따라서 데이터베이스 테이블과 열의 이름을 정한다.
다음은 이름을 만드는 규칙이다.

- 테이블 이름과 열 이름은 문자로 시작해야 하며, 1~30 문자 길이를 가질 수 있다.
- 이름은 오직 A-Z, a-z, 0-9, _, $ 그리고 # 문자만을 포함해야 한다.
- 이름은 오라클 서버 사용자에 의해 소유된 다른 객체의 이름과 중복되어서는 안된다.
- 이름은 오라클 예약어를 사용해서는 안된다.

이름을 만들 때에는 테이블이나 다른 데이터베이스 객체에 대한 서술적인 이름을 사용한다.
다른 테이블에도 일관되게 똑같은 엔티티 이름을 지정한다.
▶ 예를 들면 EMPLOYEES 테이블과 DEPARTMENTS 테이블에서 부서 번호열은 DEPARTMENT_ID 라고 명명한다.

※ 이름은 대소문자를 구분하지 않는다. 예를 들어 EMPLOYEES 테이블명과 employees 테이블명은 동일한 테이블이다.

테이블 컬럼별 타입지정

▶ 새로운 테이블을 생성할 경우

CREATE TABLE DEPTS (
    DEPT_NO NUMBER(2),
    DEPT_NAME VARCHAR2(30), 
    DEPT_YN CHAR(1),
    DEPT_DATE DATE,
    DEPT_BONUS NUMBER(10,2), -- 숫자 10자리, 소수점 2자리까지 저장
    DEPT_CONTENT LONG
);

▶ 기존 테이블의 사본을 만들 경우
     필요한 데이터에 따라 where 절을 이용하여 범위를 지정할 수 있다.

CREATE TABLE JOBS_IT AS (SELECT * FROM JOBS);

CREATE TABLE JOBS_IT AS (SELECT * FROM JOBS WHERE MIN_SALARY > 6000);

테이블 구조 변경 
테이블 열 추가 : ADD 
    ▶ 열을 추가하거나 수정할 수 있지만, 열이 어디에 나타날지를 명시할 수 없다.
    ▶ 새로운 열은 마지막 열이 된다.


테이블 열 이름 변경 : RENAME

● RENAME COLUMN 절을 사용하여 테이블의 열 이름을 변경할 수 있다.


테이블 열 수정 : MODIFY

● MODIFY 절을 사용하여 열을 수정한다.
● 기존의 데이터를 손상되게 크기를 조정할 수는 없다.


테이블 열 삭제 : DROP

● DROP COLUMN  절과 함께 사용하여 테이블에서 열을 삭제할 수 있다.
● 해당 기능은 ORACLE 8i 부터 사용이 가능하다.


테이블 삭제

● 테이블의 모든 데이터와 구조가 삭제된다.
● 어떤 결정되지 않은 트랜잭션이 커밋된다.
● 모든 인덱스가 삭제된다.
● 이 문장은 롤백이 불가능하다.

728x90

'Programming > Database' 카테고리의 다른 글

[Database] 뷰, VIEW  (0) 2023.12.12
[Database] 제약조건  (1) 2023.12.12
[Database] 트랜잭션, Transaction  (0) 2023.12.11
[Database] DML ( Data Manipulation Language )  (0) 2023.12.11
[Database] 서브쿼리 문제풀이  (0) 2023.12.07