본문 바로가기
DB/Oracle

[Oracle] 오라클 테이블 생성, 수정, 삭제 - DQL, DML, DDL, TCL

by hongdor 2020. 6. 2.
728x90

- 오라클 11g XE 버전입니다

- 오라클 샘플 계정 HR에 접속한 후 진행했습니다 ( 아래 참고 )

https://hongdori2.tistory.com/4

 

 

 

0. SQL 분류

 

TCL : transaction control language

> commit, rollback

DDL : data definition language - 데이터 정의 언어,

> create, drop, alter

DML : data manipulation language - 데이터 조작 언어, 테이블 관련

> insert, update, delete

DQL : data query language - 데이터 조회 언어, 행 관련

> select

 

- 현재 정보를 확인할 수 있는 시스템 테이블

user_views

user_tables

user_sequences

user_synonyms

 

 

1. DDL 

 

(1) 테이블 생성 - create table

create table 테이블명 ( 컬럼명1 데이터타입, 컬럼명2 데이터타입, ... )

 

< 테이블, 컬럼 이름 규칙 >

1. 영문자, 한글, 숫자 사용 가능

2. 숫자 시작 불가능

3. 30자 이내

 

< 데이터 타입 규칙 >

date : 날짜. 년/월/일/시/분/초/요일 포함

varchar2( n ) : n바이트까지 가능한 동적 문자열

number( n, m ) : 숫자. 정수 (n-m) 자리 소수점 m자리 까지. m을 적지 않으면 기본값은 0입니다

    ex) number( 5, 2 ) : 123.45같이 백의자리부터 소수점 둘째자리 까지

 

< 테이블 복사 >

: as 를 이용합니다

예시)

create table emp_copy

as

select * from employees

where department_id = 50;

 

(2) 테이블 수정 - alter table

 

컬럼 추가 - alter table 테이블명 add 컬럼명 데이터타입

컬럼 수정 - alter table 테이블명 modify 컬럼명 데이터타입

컬럼 삭제 - alter table 테이블명 drop column 컬럼명

컬럼 이름 변경 - alter table 테이블명 rename column 컬럼명 to 새로운컬럼명

컬럼 값만 삭제 - truncate table 테이블명

 

(3) 테이블 삭제 - drop talbe

 

테이블 삭제 - drop table 테이블명

 

 

 

2. DML

 

행 추가 - insert into 테이블명( 컬럼1, 컬럼2, ... ) values( 값1, 값2, ... ) 

행 수정 - update 테이블명 set 컬럼명1 = 값1, 컬럼명2 = 값2, ... where 조건

행 삭제 - delete 테이블명 where 조건

 

 

 

3. TCL

 

Run SQL command 창을 2개 켠 상태에서 한쪽에서 데이터를 변경해도 나머지 한쪽은 조회시 그대로입니다

> 임시 메모리에만 반영되어 있고 데이터베이스에는 반영이 안됐기 때문입니다.

 

데이터 베이스에 저장 - commit

되돌리기 - rollback

 

주의해야 할 것은 create table 같은 DDL 사용시 자동으로 데이터 베이스에 저장됩니다

 

 

 

 

 

 

 

 

728x90

댓글