728x90
DDL
DDL은 자동으로 커밋되어서 롤백이 안되므로 주의해야한다. 가급적 DROP 대신 DELETE
CREATE
테이블 만들기
CREATE TABLE emp
(
empno NUMBER(4) PRIMARY KEY NOT NULL,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
);
테이블 복제 (테이블 생성 후 데이터 까지 입력)
CREATE TABLE EMP_HISTORY
AS
(SELECT * FROM EMP WHERE DEPTNO = 10);
CREATE TABLE 테이블명
AS
(SELECT * FROM 복제하고싶은_테이블명 WHERE 조건);
서브쿼리의 where조건을 이용해서 원하는 값만 복제할 수 있음
DROP
테이블 삭제 3가지 방법
DELETE FROM 테이블명; -- 테이블 남아있다 , 데이터만 삭제, 백업로그가 있다
truncate table 테이블명; -- 테이블 남아있다 , 데이터만 삭제
DROP TABLE 테이블명; -- 테이블(데이터 포함) 삭제 --자동커밋 롤백불가
ALTER
컬럼이름변경
ALTER TABLE EMP_HISTORY2 RENAME COLUMN JOB TO JOB222;
desc EMP_HISTORY2;
컬럼 크기, 타입 수정 ename varchar2(10) --> varchar2(5)
ALTER TABLE EMP_HISTORY MODIFY ENAME VARCHAR2(5);
ALTER TABLE EMP_HISTORY MODIFY ENAME NUMBER(10);
컬럼 추가
ALTER TABLE EMP_HISTORY2 ADD FNAME VARCHAR2(10);
desc EMP_HISTORY2;
컬럼 삭제
ALTER TABLE EMP_HISTORY2 DROP COLUMN COMM;
desc EMP_HISTORY2;
테이블 이름 변경
ALTER TABLE EMP_HISTORY2 RENAME TO EMP_HISTORY22222;
'SQL' 카테고리의 다른 글
(SQL 문법) 뷰, 시퀀스, 인덱스 (0) | 2022.01.05 |
---|---|
(SQL 문법) DML (INSERT, UPDATE, DELETE) (0) | 2022.01.05 |
(SQL 문법) 집합 연산 (0) | 2022.01.05 |
(SQL 문법) 서브 쿼리 (단일행, 다중행) (0) | 2022.01.05 |
(SQL 문법) JOIN (0) | 2022.01.05 |
댓글