- 오라클 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 사용시 자동으로 데이터 베이스에 저장됩니다
댓글