728x90
반응형
DDL (Data Defination Language) |
|
= 데이터 정의어 - 데이터를 저장하는 구조를 정의, 수정, 제거하는 기능을 처리하는 명령어 자동COMMIT; |
CREATE : 테이블, 계정, 뷰, 함수, 프로시저... 등을 생성 |
ALTER: 테이블..등을 추가ADD, 변경MODIFY, 삭제DROP 변경/수정 | |
DROP : 테이블..등을 삭제 | |
TRUNCATE: 테이블의 구조만 제외하고 나머지를 영구삭제 (해당 테이블 내 데이터 전체삭제, 자동확정됨) |
|
RENAME : 이름변경 |
CREATE - DDL |
|
CREATE문 : 테이블, 계정, 뷰, 함수, 프로시저... 등을 생성 --[테이블생성문 형식] CREATE TABLE 테이블명 ( 컬럼명 자료형 [제약조건1 제약조건2 ...] , ... 컬럼명 자료형 [제약조건1 제약조건2 ...] ) ; |
--사원번호, 사원명, 연봉 3개의 칼럼으로 구성된 EMP01테이블 생성 CREATE TABLE EMP01 ( EMPNO NUMBER(4), ENAME VARCHAR2(20), SAL NUMBER(7,2) ) ; CREATE TABLE DEPT02 ( DEPTNO NUMBER(2), --숫자, 정수2자리만 DNAME VARCHAR2(14), --가변형문자, 14바이트까지만 LOC VARCHAR2(13) --가변형문자, 13바이트까지만 ) ; --DEPT테이블과 동일한 구조의 테이블을 DEPT01로 생성 CREATE TABLE DEPT01 AS SELECT * FROM DEPT WHERE 1=0; |
CREATE USER IDENTIFIED PW; | CREATE USER IDENTIFIED PW; |
ALTER - ADD, MODIFY, DROP, RENAME |
|
테이블이나 사용자 계정 등의 정의(구조)를 변경하는 명령 테이블 컬럼을 추가(ADD)하는 명령 형식 ALTER TABLE 테이블명 ADD (추가컬럼명 자료형, ..., 추가컬럼명N 자료형) ; --컬럼 하나만 추가할 경우 ADD 추가컬럼명 자료형; |
--EMP테이블을 확인하여 EMP01에 없는 칼럼을 모두 추가하세요. ALTER TABLE EMP01 ADD (JOB VARCHAR2(9 BYTE), MGR NUMBER(4,0), HIREDATE DATE, SAL NUMBER(7,2), DEPTNO NUMBER(2,0)); --DEPT01테이블에서 설립일자 칼럼(CREDATE)을 날짜형으로 추가 ALTER TABLE DEPT01 ADD CREDATE DATE; |
테이블의 컬럼 정보를 수정(MODIFY)하는 명령 형식 ALTER TABLE 테이블명 MODIFY (기존컬럼명 자료형, ..., 기존컬럼명N 자료형) ; --컬럼 하나만 변경할 경우 MODIFY 변경할컬럼명 자료형; --다른 자료형 변경시에는 컬럼내에 값이 없어야 한다. 변경원할 시 null로 UPDATE후 MODIFY. --문자형 칼럼의 사이즈를 변경하는 조건 : 들어있는 데이터 이상의 범위내에서만 줄이거나 늘릴 수 있음. |
--EMP01테이블에서 TEST칼럼의 자료형을 NUMBER(4)로 변경 ALTER TABLE EMP01 MODIFY TEST NUMBER(4); --EMP01테이블에서 9999사번 값을 2525로 변경 UPDATE EMP01 SET TEST = 2525 WHERE EMPNO = 9999; --EMP01테이블에서 TEST칼럼의 자료형을 VARCHAR2(20)으로 변경 UPDATE EMP01 SET TEST = NULL WHERE EMPNO = 9999; COMMIT; ALTER TABLE EMP01 MODIFY TEST VARCHAR2(20); |
테이블의 컬럼 정보를 삭제(DROP)하는 명령 형식 ALTER TABLE 테이블명 DROP COLUMN 삭제할컬럼명 ; --다중 컬럼 삭제 ALTER TABLE 테이블명 DROP (삭제할컬럼명, ..., 삭제할컬럼명N ) ; |
--EMP01테이블에서 EMPNO, ENAME을 제외한 컬럼을 모두 삭제하세요. ALTER TABLE EMP01 DROP (SAL, JOB); TRUNCATE TABLE DEPT02; --테이블 내 모든 값 영구삭제 DROP TABLE DEPT01 PURGE; --테이블 영구삭제 |
테이블의 컬럼명 변경(RENAME)하는 명령 형식 ALTER TABLE 테이블명 RENAME COLUMN 기존 컬럼명 TO 변경할 컬럼명 ; 테이블의 이름을 변경 RENAME 기존테이블명 TO 변경할 테이블명; |
--EMP01에서 TEST클럼을 TEST1로 이름을 변경하세요. ALTER TABLE EMP01 RENAME COLUMN TEST TO TEST1; --테이블명 변경 RENAME EMP01 TO EMP02; |
728x90
반응형
'[ORACLE]' 카테고리의 다른 글
[ORACLE] Transaction - COMMIT, SAVEPOINT, ROLLBACK, VIEW (0) | 2024.01.18 |
---|---|
[ORACLE] 제약조건 CONSTRAINT (0) | 2024.01.17 |
[ORACLE] DML - INSERT, DELETE, UPDATE, SELECT (0) | 2024.01.16 |
[ORACLE] 연산자 AND, OR, NOT, BETWEEN, IN, LIKE, IS NULL (0) | 2024.01.16 |
[24일차] 예제 (0) | 2024.01.15 |