Day05-2. DDL

이하연·2023년 2월 14일

DBMS 교육

목록 보기
16/22
post-thumbnail

처음 DBMS에 입문하였을 때, 우리는 세 종류에 대해 간략하게 배웠습니다. DDL, DCL, DML까지 말이죠. 여태까지 우리가 사용한 Select 문은 DML에 속하였고요. 하지만 이번에는 DDL에 대해 더 자세히 알아보겠습니다.

DDL

물론 DDL이라 하면 생각하시는 것이 이리 다양하시겠죠. 하지만 우리는 첫번째에 있는 DDL, Data Definition Language에 대해 알아볼겁니다.

이는 데이터의 구조를 정의하기 위한 테이블을 생성하고, 삭제하는 명령어입니다.

1. 명령어의 종류

이 DDL에는 4가지의 명령어가 있는데요. 이는 아래와 같습니다.

2. Create

Create : 생성

Create, 즉 생성 명령어는 말 그대로 테이블을 생성해주는 역할을 합니다. 위에서 보시다시피 테이블 명을 지정하고 ()를 통해 컬럼명과 들어갈 데이터 유형을 설정해줄 수 있죠.

위의 예시는 그에 따라 EMPLOYEES2 테이블을 생성하고,

employee_id라는 숫자값 데이터 유형과, name 이라는 문자열 유형, 또 salary 라는 소수점이 들어간 숫자값 데이터 유형의 컬럼들이 생성된 것을 보실 수 있습니다.

3. Alter

Alter : 수정

Alter테이블을 수정하는 명령어입니다. 이를 통해 컬럼을 더 추가할 수도, 수정할 수도 있는데요.

먼저, 컬럼 추가하는 방법에 대해 알아보겠습니다. 이는 add() 를 사용합니다.

EMPLOYEES2라는 테이블 컬럼 중에서 manager_id라는 컬럼을 추가해준 모습입니다. 이 컬럼의 데이터 타입은 varchar2로, 10자리이며 add()로 추가하여 주었습니다.

다음으로 컬럼을 수정하는 방법에 관해 알아보겠습니다.

이는 add 대신 modify을 통해 컬럼을 수정해주는데요. 이는 아래와 같이 해주시면 됩니다.

보시다시피, add 대신 modify를 넣어주었는데요. 자세히 보시면 manager_id 컬럼이 10자리에서 20자리로 변환된 것을 보실 수 있습니다. 이를 적용시켜주시면 아래와 같이 나타납니다.

4. Drop

Drop : 삭제

앞에서 추가하는 법, 수정하는 법에 대해 알아보았으니 이제 삭제하는 법에 대해 알아보아야 할 차례겠죠.

Drop 명령어는 말 그대로 테이블을 삭제해주는 기능입니다. 그러니 이를 실행할 때, 정말 필요없는 것인지 확인 필요하겠죠.

코드로 볼까요?

작성 방법은 위의 것들과 유사합니다. 가장 처음에 명령어를 설정해주고, 삭제할 테이블명을 명시해주면 됩니다.

이 예시에서는 EMPLOYEES3을 본뜬 EMPLOYEES3 테이블을 지워주려고 하는데요. 이를 시행하게 되면..


위와 같은 경고문이 나타납니다.

"너 이 데이터 다 잃는거야... 정말로 지울거야?"

자신의 선택에 워낙 확고하시고 다시 돌릴 테이블이 하나도 없다면 체크박스를 클릭해 다시는 이 문구를 띄우지 않도록 하는 방법도 있습니다만.. 추천해드리진 않습니다.

나중에 후회하시면 어쩌시려고..

그러니 확인만 눌러줍시다.


그럼 이러한 스테이터스만 뜨고 좌측을 보시면..


여기 있던 테이블이 새로고침을 시행하면..


한번에 없어지는 모습을 보실 수 있습니다. 이는 테이블로만 지정이 가능한게 아니라 컬럼으로 바꿔주면 컬럼만 삭제 가능하니 참고하시길 바랍니다.

4. TRUNCATE

Truncate : 테이블의 모든 데이터 삭제

TRUNCATE 명령어는 테이블에 있는 모든 데이터를 삭제해주는 명령어입니다. Drop은 전체 테이블 그 자체를 삭제하지만, 이 경우에는 데이터만 삭제해주는 것이죠.

그럼, 어떻게 적용되는지 볼까요?


테스트 데이터가 들어있는 EMPLOYEES2라는 테이블이 있습니다.

이 역시 작성 방식은 위의 명령어들과 동일합니다. 따라서, 설명은 하지 않고 바로 코드로 넘어가겠습니다.


그저 아래에 적어두었을 뿐입니다. TRUNCATE로 EMPLOYEES2의 데이터들을 한번 지워보겠습니다.

이를 실행하면..


이렇게 말끔히 모든 데이터가 사라진 것을 보실 수 있습니다.

To Be Continued..

이로서 DDL의 4가지 명령어에 대해 알아보았습니다. 다음 포스팅에는 DML에 대해 알아보겠습니다.

profile
애옹.

0개의 댓글