Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- MVC 패턴
- DB 개요
- ORACLE 기초
- DB 모델링
- 데이터베이스
- 기초 선택자
- 쿠버네티스
- 마크다운
- DB
- 쿠버네티스 기본 개념
- view
- VS Code
- oracle
- SQL
- 도커
- 정보처리기사
- java
- 기본 API
- mybatis
- 깃허브
- docker 소개
- 필기
- DDL
- github
- 웹개발 기초
- dql
- java 기초
- docker
- Flutter
- 프로그래밍 기초
Archives
- Today
- Total
핑구
08. DDL(ALTER, DROP) 본문
📅 2021.09.17
DDL
- DDL의 경우 수정, 삭제 등이 일어남과 동시에 자동으로 COMMIT이 진행되기 때문에 명령어를 사용한 COMMIT, ROLLBACK을 진행하여도 확정 또는 되돌리기가 이루어지지 않는다. COMMIT, ROLLBACK은 DML 기능에만 적용된다.
ALTER
- 테이블에 정의된 내용을 수정할 때 사용하는 데이터 정의어로 컬럼의 추가/삭제, 제약 조건의 추가/삭제, 컬럼의 자료형 변경, DEFAULT 값 변경, 테이블 명/컬럼 명/제약조건 명 변경 등이 가능하다.
- 컬럼 추가
ALTER TABLE DEPT_COPY ADD (CNAME VARCHAR2(20)); ALTER TABLE DEPT_COPY ADD (LNAME VARCHAR2(40) DEFAULT '한국');
- 컬럼 추가 시 DEFAULT 값을 설정할 수 있으며, 설정하지 않는 경우 DEFAULT로 NULL이 들어간다.
- 컬럼 수정
크기, 자료형, DEFAULT 값 모두 변경이 가능하다. DEFAULT 값을 수정하는 경우 현재 저장되어 있는 데이터 값도 같이 수정되는 것은 아니며, 이후에 DEFAULT로 설정하여 저장하는 값에 적용된다.
만약 데이터가 하나라도 수정하려는 크기보다 큰 경우에는 데이터를 자를 수 없기 때문에 수정되지 않는다.
ALTER TABLE DEPT_COPY MODIFY DEPT_TITLE VARCHAR2(30) MODIFY LOCATION_ID VARCHAR2(2) MODIFY CNAME CHAR(20) MODIFY LNAME DEFAULT '미국';
- 제약 조건 추가
ALTER TABLE DEPT_COPY ADD CONSTRAINT PK_DCOPY_DID PRIMARY KEY(DEPT_ID);
- 이름 변경
어떤 부분을 RENAME할 것인지 명시하는 경우 이름 변경이 가능하고, 테이블 이름을 변경하는 경우에는 어떤 테이블에 대해 변경할 것인지 미리 적어 주었기 때문에 따로 명시하지 않아도 된다.
-- 제약조건 이름 변경 ALTER TABLE DEPT_COPY RENAME CONSTRAINT SYS_C007696 TO NN_DCOPY_LID; -- 테이블 이름 변경 ALTER TABLE DEPT_COPY RENAME TO DEPT_TEST;
DROP
- 데이터베이스를 삭제하는 구문이다.
- 컬럼 삭제
데이터가 존재하는 컬럼도 삭제가 가능하다.
테이블은 최소 한 개 이상의 컬럼을 가지고 있어야 하기 때문에 컬럼이 하나 남은 경우 더 이상 삭제할 수 없다.ALTER TABLE DEPT_COPY2 DROP COLUMN CNAME;
- 제약 조건이 걸려 있는 경우에는 해당 컬럼을 삭제할 수 없지만, 제약 조건을 함께 삭제하는 경우 삭제가 가능하다.
ALTER TABLE TB1 DROP COLUMN PK1 CASCADE CONSTRAINTS;
- 테이블 삭제
DROP TABLE DEPT_TEST;
- 제약 조건 삭제
DROP TABLE DEPT_TEST CASCADE CONSTRAINTS;
'JAVA 웹 개발 > 2. Oracle' 카테고리의 다른 글
10. SEQUENCE (0) | 2022.08.13 |
---|---|
09. VIEW (0) | 2022.08.13 |
07.DML(INSERT, UPDATE, DELETE) (0) | 2022.08.13 |
06. DDL(CREATE) (0) | 2022.08.13 |
05. 서브쿼리 (0) | 2022.06.08 |