주의점: 모든 명령어는 AUTO COMMIT(ROLLBACK 불가)
CREATE 테이블 생성
ALTER 테이블 변경
ADD: 테이블 열 추가
RENAME 테이블 이름 변경
MODIFY: 열 길이 조정(늘리는 것은 자유로우나 줄이는 것은 기존 입력된 데이터 최대 길이 이하로는 불가.)
TRUNCATE 데이터 삭제 (형태만 남김)
* DELETE는 하나하나 지우는거고 commit 필요. TRUNCATE는 한번에 표 형태만 두고 내용만 지움
DROP 테이블 삭제
ROLLBACK 사용 불가능하지만 FLASHBACK 기능으로 可 (구글링 참조)
FLASHBACK은 매우 특수한 경우에만 사용함 (잘 안씀)
DROP TABLE EMP_HW; -- 혹시 이전에 생성된 것이 있다면 삭제
CREATE TABLE EMP_HW(
EMPNO NUMBER(4),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MG NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2), -- 소숫점 표현 위해 뒤에 ,2 표시
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
); --문제 요구사항대로 작성
DESC EMP_HW; -- 구성문 확인
SELECT * -- 내용 확인(내용이 비어있고 껍데기만 있음)
FROM EMP_HW;
[Q2]
ALTER TABLE EMP_HW
ADD BIGO VARCHAR(20); -- ADD 사용; 열 추가시 이름에 '' 필요없음.
SELECT * -- 결과 확인
FROM EMP_HW;
[Q3]
ALTER TABLE EMP_HW
MODIFY BIGO VARCHAR(30); -- ADD자리에 MODIFY쓰고 거기에서 내용 조정
DESC EMP_HW; -- 구성 길이 확인
[Q4]
ALTER TABLE EMP_HW
RENAME COLUMN BIGO TO REMARK; -- RENAME COLUMN 대상 TO 새 이름
DESC EMP_HW;
DROP TABLE EMP_HW; -- 이전 것을 지우고 다시하는 버전
CREATE TABLE EMP_HW AS (SELECT * FROM EMP); -- 서브쿼리로 한 번에 부르기
ALTER TABLE EMP_HW -- REMARK 따로 추가하기
ADD REMARK VARCHAR(20);
INSERT INTO EMP_HW -- 이전 것을 그대로 두고 넣기만 하기.
SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, NULL
FROM EMP;
DROP TABLE EMP_HW;
728x90
반응형
'Programming > Oracle SQL' 카테고리의 다른 글
CONSTRAINT(제약 조건) (0) | 2023.08.28 |
---|---|
실무에서 많이 쓰는 VIEW (0) | 2023.08.28 |
IMPORT and EXPORT DATA, 끄적임 (0) | 2023.08.25 |
DML and DCL (Data Manipulation, Control Language) (0) | 2023.08.25 |
Subquery (0) | 2023.08.25 |