728x90
반응형
데이터 정의어
데이터 조작어(INSERT, UPDATE, DELETE)와 다르게 수행하자 마자 반영되는 특성(자동 COMMIT)이 있기 때문에 실행 취소가 불가능
CREATE
-- 데이터베이스 객체 생성
CREATE TABLE 소유 계정.테이블 이름(
열1 이름 열1 자료형,
열2 이름 열2 자료형,
...,
열N 이름 열N 자료형
);
📍 TABLE 이름 생성 규칙
- 문자로 시작 (한글 가능, 숫자 불가, 대소문자 구별 안함 - 큰따옴표("")를 사용하면 대소문자 구별)
- 테이블 이름은 30byte 이하
- 같은 계정의 테이블 이름은 중복 불가
- 테이블 이름은 영문자, 한글, 숫자, 특수문자($, #, _) 가능
- SQL 키워드는 테이블 이름으로 사용 불가
📍 COLUMN 이름 생성 규칙
- 문자로 시작
- 열 이름은 30byte 이하
- 한 테이블의 열 이름은 중복 불가
- 열 이름은 영문자, 한글, 숫자, 특수문자($, #, _) 가능
- SQL 키워드는 열 이름으로 사용 불가
ALTER
-- 데이터베이스 객체 변경 (테이블 구조 변경 - 새 열 추가, 삭제, 자료형, 길이)
-- ADD (열 추가)
ALTER TABLE EMP
ADD HP VARCHAR2(20);
-- RENAME (열 이름 변경)
ALTER TABLE EMP
RENAME COLUMN HP TO TEL;
-- MODIFY (열 자료형 수정)
ALTER TABLE EMP
MODIFY EMPNO NUMBER(5); -- 저장된 데이터가 있을 때 길이를 줄일 수 없음
-- DROP (열 삭제)
ALTER TABLE EMP
DROP COLUMN TEL;
RENAME
-- 테이블 이름 변경
RENAME EMP TO EMP2;
TRUNCATE
-- 테이블의 모든 데이터 삭제
TRUNCATE TABLE EMP;
TRUNCATE 명령어 유의점?
DELETE문과 다른점은 ROLLBACK이 되지 않아 사용하면 복구가 불가능 하다.
DROP
-- 데이터베이스 객체 삭제
DROP TABLE EMP;
- 오라클 10g부터 FLASHBACK기능(휴지통)을 사용해 삭제된 테이블을 복구할 수 있음 (특별한 상황에서 사용)
728x90
반응형
'Programming > Database' 카테고리의 다른 글
[ORACLE 초급] 트랜잭션(COMMIT, ROLLBACK), SESSION, LOCK (0) | 2020.09.26 |
---|---|
[ORACLE 초급] DML - INSERT, UPDATE, DELETE (feat. 서브쿼리) (0) | 2020.09.26 |
[ORACLE 초급] 서브쿼리 - WHERE절(단일행, 다중행, 다중열), 인라인뷰(WITH절), 스칼라서브쿼리 (0) | 2020.09.20 |
[ORACLE 초급] 문법별 JOIN 사용법 - 내부조인, 외부조인, JOIN ~ USING/ON (0) | 2020.09.20 |
[ORACLE 중급] 그룹화 함수 - ROLLUP, CUBE, GROUPING, PIVOT 등 (0) | 2020.09.18 |