일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 순환신경망
- 중학1-1
- 머신러닝
- 연습문제
- 중학수학
- 컴퓨터비전
- 자바스크립트
- 혼공머신
- JSP
- 데이터베이스
- 정보처리기사필기
- 컴퓨터구조
- 개발일기
- 자바스크립트심화
- 상속
- CSS
- html/css
- ChatGPT
- 자바 실습
- rnn
- 디버깅
- 정보처리기사실기
- 데이터분석
- 자바
- c언어
- 파이썬
- JDBC
- 딥러닝
- JSP/Servlet
- SQL
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
데이터 정의어 1 - 정의어와 CREAT, ALTER, RENAME, TRUNCATE, DROP 명령어 본문
데이터 정의어 1 - 정의어와 CREAT, ALTER, RENAME, TRUNCATE, DROP 명령어
huenuri 2024. 8. 23. 16:21아침 시간이 아직 2시간 정도 남아있다. 이 시간 동안 데이터 정의어 학습을 진행해보려고 한다. 지난번에 DDL 수업을 들고 학습일지를 썼는지 아닌지 의문이 들어서 일지를 확인해 보았다.
보니까 수업 중에 간단하게 설명을 하셔서 공부를 안 했나 생각했었다. 이 부분은 테이블을 생성하는 단원인 DML에 함께 기록을 했다. 이제 책으로만 학습을 진행하면 될 것 같다. 수업으로만은 충분하지 않고 개념을 잘 정립하기 위해서는 책으로 공부를 하는 게 좋을 것이다.
학습 내용
- 객체를 생성, 변경, 삭제하는 데이터 정의어
- 테이블을 생성하는 CREATE
- 테이블을 변경하는 ALTER
- 테이블 이름을 변경하는 RENAME
- 테이블의 데이터를 삭제하는 TRUNCATE
- 테이블을 삭제하는 DROP
학습 시간
11시 반 ~ 12시 45분 <1시간 15분 소요>
1. 객체를 생성, 변경, 삭제하는 데이터 정의어
데이터 정의어(DDL: Data Definition Language)는 데이터베이스를 보관하고 관리하기 위해 제공되는 여러 객체의 생성·변경·삭제 관련 기능을 수행한다.
데이터 정의어를 사용할 때 유의점
정의어는 조작어와 달리 명령어를 수행하자마자 데이터베이스에 수행한 내용이 바로 반영되는 특성이 있다. 즉 데이터 정의어를 실행하면 자동으로 COMMIT이 되기 때문에 이전에 사용한 데이터 조작어는 영구히 DB에 저장된다. 이는 ROLLBACK을 통한 실행 취소가 불가하다는 것을 의미하기 때문에 사용할 때 주의를 기울여야 한다.
2. 테이블을 생성하는 CREATE
이 명령어를 수행하면 EMP 테이블을 생성하겠다는 의미이다. 이때 소유 계정 이름은 생략할 수 있다.
자료형을 각각 정의하여 새 테이블 생성하기
CREATE 명령어를 사용하여 테이블을 생성해 본다. NUMBER(4)와 같이 자료형 뒤 괄호에는 열에 저장할 데이터 길이를 지정할 수 있다.
모든 열의 각 자료형을 정의하여 테이블 생성하기
SELECT를 하지 않아서 그런지 맨 처음에 계정을 열었을 때처럼 표시되었다. 이러한 방식은 열 구조를 확인하기 위한 것이다.
기존 테이블 열 구조와 테이블을 복사하여 새 테이블 생성하기
서브 쿼리를 활용하여 테이블을 사용하는 방법을 더 많이 사용한다. 서브 쿼리를 사용할 때는 CREATE문에 AS 키워드를 함께 쓴다.
다른 테이블을 복사하여 테이블 생성하기
DEPT_DDL 테이블 전체 조회하기
기존 테이블 열 구조와 일부 데이터만 복사하여 새 테이블 생성하기
DEPTNO 열을 30으로 지정한 후 붙여 넣었다.
3. 테이블을 변경하는 ALTER
ALTER 명령어는 이미 생성된 오라클 DB 객체를 변경할 때 사용한다. 테이블에 새 열을 추가 또는 삭제하거나 열의 자료형 또는 길이를 변경하는 등 테이블 구조 변경과 관련된 기능을 수행한다.
EMP_ALTER 테이블 생성하기
테이블에 열 추가하는 ADD
ALTER 명령어로 HP 열 추가하기
HP 열을 추가해 주었다.
열 이름을 변경하는 RENAME
HP 열 이름을 TEL로 변경하기
열 이름이 HP에서 TEL로 변경되었다.
열의 자료형을 변경하는 MODIFY
EMPNO 열의 자료형은 NUMBER(4)로 지정되어 있다. 만약 사원이 많아져 4자리 이상의 사원 번호가 필요해질 때 EMPNO 열의 자릿수를 늘려야 한다.
EMPNO 열 길이 변경하기
길이가 4에서 5로 변경되었다.
특정 열을 삭제할 때 사용하는 DROP
TEL 열 삭제하기
마지막에 있었던 TEL 열이 삭제되었다.
4. 테이블의 이름을 변경하는 RENAME
앞서 생성한 EMP_ALTER 테이블 이름을 EMP_RENAME으로 변경해 보겠다.
테이블 이름 변경하기
바꾸기 전 이름으로 테이블 구성 살펴보기
변경 전 이름을 찾으면 존재하지 않는다는 문구가 뜬다.
변경된 테이블 이름으로 조회하기
변경된 이름으로 조회할 수 있다.
5. 테이블의 데이터를 삭제하는 TRUNCATE
이 명령어는 특정 테이블의 모든 데이터를 삭제한다. 데이터만 삭제하므로 테이블 구조에는 영향을 주지 않는다.
EMP_RENAME 테이블의 전체 데이터 삭제하기
잘렸다는 문구가 뜨고 조회를 해보면 아무것도 나오지 않음을 볼 수 있다.
6. 테이블을 삭제하는 DROP
TRUNCATE와 달리 DROP은 테이블에 저장된 데이터도 모두 삭제된다.
EMP_RENAME 테이블 삭제하기
EMP_RENAME 테이블 구성 살펴보기
학습을 마치고
DDL 뒷부분 수업 예제는 넣지 않았는데, 그건 몇 장 뒤에 학습할 제약 조건과 함께 묶여 있었다. 오늘 이 부분도 학습하게 될 텐데 그때 함께 나머지 부분을 학습해 보려고 한다.
이렇게 해서 테이블을 만들고 수정, 삭제하는 명령어에 대해서 학습해 보았다. DML와 비슷한 부분이 많았지만 아마도 사용 용도는 다른 것 같다. DDL은 말 그대로 정의를 하며 자료형과 함께 사용된다. DML은 원래 있는 테이블을 가지고 작업을 할 때 쓰는 것 같은데, 지금은 확실히는 모르겠다. 어쨌든 이제 연습문제를 풀어보며 개념을 더욱 다져보기로 하자.
'알고리즘 및 자료 관리 > 데이터베이스' 카테고리의 다른 글
데이터 정의어 2 - 단원 마무리 연습문제 풀기 (0) | 2024.08.23 |
---|---|
트랜잭션 제어와 세션 3 - 단원 마무리 연습문제 풀기 (0) | 2024.08.23 |
트랜젝션 제어와 세션 2 - 세션과 읽기 연관성, LOCK에 대하여 (0) | 2024.08.21 |
트랜잭션 제어와 세션 1 - 하나의 단위로 데이터를 처리하는 트랜잭션과 트랜잭션을 제어하는 명령어 (0) | 2024.08.21 |
데이터를 추가, 수정, 삭제하는 데이터 조작어 4 - DML 수업 (0) | 2024.08.21 |