728x90
DQL 데이터 질의어 : select
DML 데이터 조작어 : insert, update, delete
DDL 데이터 정의어 : create, alter, drop, truncate
**DDL은 자동으로 commit이 되서 좀 더 신중하게 작성하는것이 좋다.
DB안에 존재하는 객체 종류
Table, View, Sequence, Index, Synonym
테이블명과 컬럼명 이름 규칙
- 문자로 시작한다.
- 문자, 숫자, 특수문자(_, #, $) 혼합 가능
1. 테이블 생성 CREATE
생성 방법1) 직접 생성
CREATE TABLE 테이블명 (
컬럼명 테이터타입(컬럼사이즈),
컬럼명 데이터타입(컬럼사이즈),
......
);
생성 방법2) 서브쿼리로 생성
CREATE TABLE 테이블명
AS SELECT ~;
CREATE TABLE dept80
AS SELECT employee_id, last_name, salary*12 annsal, hire_date
FROM employees
WHERE department_id = 80;
확인 > desc dept80
확인 > select * from dept80;
select한게 그대로 복사되어 생겼다.
2. 테이블 생성시 제약조건 달기
https://luanaeun.tistory.com/167
3. 복사본 테이블 만들기
★☆테이블 복사본을 만드는 것은 백업을 위해 꼭 필수로 알아야 한다
1) 완전히 똑같이 테이블 복사하기
CREATE table copy_emp
as select * from employees;
2) 구조만 복사하기
where 1=2는 무조건 false이기에, 구조만 똑같고 내용은 빈 테이블이 만들어진다.
CREATE table copy_emp
as select * employees
where 1=2;
구조만 복사 후 다시 내용도 넣고싶으면 insert구문으로 넣을 수 있다.
INSERT INTO copy_emp select * from employees;
궁금증?) 테이블을 값까지 모두 복사했을때 제약조건도 복사가 될까??
=> NOT NULL만 복사되기 때문에 나머지 제약조건은 원하면 따로 추가해야한다.
NOT NULL은 복사를 안하고싶어도 자동으로 복사되기때문에 뺄 수가 없다.
728x90
'Database > Oracle' 카테고리의 다른 글
Oracle DB) 제약 조건 확인하기(SQLPlus, Developer) (0) | 2022.03.22 |
---|---|
Oracle DB) 제약 조건: Primary Key, Foreign key, Unique, Not Null, Check (0) | 2022.03.15 |
Oracle DB) 단일행 함수 - 문자함수(자르기, 연결하기 등등) (0) | 2022.03.02 |
Oracle DB) SELECT 연습 (0) | 2022.03.02 |
OracleDB) SELECT문과 WHERE, ORDER BY (0) | 2022.03.02 |