● CREATE : 테이블, 스키마, 도메인, 뷰, 인덱스를 생성

CREATE TABLE 테이블명(
   NO      NUMBER(4,2),		-- 총 4자리 -> 소수점이하 2자리, 정수 2자리
   NAME    VARCHAR(10),
   BIRTHD  DATE
);

 - AS를 사용해 기존에 있던 테이블을 이용하여 새 테이블 생성(복사)

CREATE TABLE 테이블명 AS SELECT * FROM TABLE2

○ 가상 칼럼 : 존재하는 칼럼을 이용하여 결과를 출력하는 칼럼, 값을 직접 입력할 수 없음

 - GENERATED ALWAYS AS 조건 VIRTUAL

CREATE TABLE vt001(
  no1 NUMBER,
  no2 NUMBER,
  no3 NUMBER GENERATED ALWAYS AS (no1 + no2) VIRTUAL);

 -> no3칼럼은 (no1 + no2)를 계산한 칼럼이며 no1이나 no2값에 의해 변경됨

● ALTER : 이미 생성된 객체 변경, 부하가 많이 걸리는 명령어이기에 사용량 많을때는 사용 유의

 - ADD : 테이블 열 추가

ALTER TABLE 테이블명 
    ADD (name VARCHAR2(10) default 'min');

 - RENAME : 테이블/컬럼 이름 변경

# 컬럼 이름 변경 (column1 -> column2)
ALTER TABLE table1 RENAME COLUMN column1 TO column2;

# 테이블 이름 변경 (table1 -> table2)
RENAME table1 TO table2;

 - MODIFY : 열의 자료형 변경

ALTER TABLE table2 MODIFY (name VARCHAR2(20));

 - DROP : 테이블 열 삭제

ALTER TABLE table2 DROP COLUMN name;

 - 읽기 전용 : read only 사용, 수정 불가능하나 삭제는 가능(DROP)

ALTER TABLE 테이블명 READ ONLY; -- 읽기 전용

ALTER TABLE 테이블명 READ WRITE; -- 읽기&쓰기

● DROP : 테이블 삭제

DROP TABLE 테이블명

● TRUNCATE : 테이블의 모든 데이터 삭제 (테이블은 삭제 X)

TRUNCATE TABLE 테이블명

● DESC : DDL로 생성한 테이블의 구조 출력

DESC table;