DDL

OneTwoThree·2022년 10월 7일
0

DDL

DDL

DDL은 데이터 정의어

데이터 정의어는 데이터베이스에 스키마 객체 생성, 변경, 제거 등을 수행한다.
테이블 뿐만 아니라 db에서 제공하는 뷰, 인덱스 등 다양한 객체들을 생성, 변경, 제거하는 것도 똑같이 수행된다.


테이블을 정의하기 위해서는 테이블의 어떤 필드들을 정의하고 어떤 데이터 타입인지, 자리를 얼마나 차지할 지 정보가 필요하다. 이를 수행하기 위해 데이터 타입을 정의해줘야 한다.

테이블 생성

create table로 테이블을 생성하는데 테이블이 아닌 다른 객체를 생성하고 싶으면 table 대신 다른 객체명을 입력하면 된다.

필드명과 타입을 입력하고 NULL이나 디폴트 값 등의 제약조건을 작성해준다.

그리고 PRIMARY KEY(필드명) 으로 어떤 필드를 PRIMARY KEY로 설정할 지 정할 수 있다.

이런 식으로 생성할 수 있다. PRIMARY KEY는 위와 같이 필드를 정의할 떄 같이 적어도 되고 필드를 전부 정의하고 나서 마지막에 PRIMARY KEY(필드명)으로도 지정할 수 있다.

예제

book 이라는 테이블을 생성한다
필드명은 isbn, title, price이고 각각의 자료형도 지정해준다.

테이블 수정

추가/삭제

테이블 수정은 alter를 이용한다.
컬럼을 추가하기 위해서는 add, 삭제하기 위해서는 drop을 사용한다.

예제

수정

change라는 키워드를 이용해서 컬럼을 수정할 수 있다.
필드명을 새 필드명과 작성한 타입, 제약조건으로 바꿔준다.

테이블 이름 변경

테이블 삭제하기

emp 테이블의 dept no와 dep 테이블의 dept no가 foriegn key 관계일 때 emp 테이블의 dept no는 dep 테이블에 있는 값만 넣을 수 있다.
이렇게 테이블간에 관련이 있을 때 제약조건으로 작용하여 테이블이 삭제되지 않을 수 있다.

employee 테이블에 데이터를 insert 하는데 deptno의 값을 department에 없는 값으로 넣자 foreign key 어쩌구 하면서 오류발생 하는것을 확인할 수 있다.

이러한 관계 때문에 department 테이블을 employee 테이블보다 먼저 삭제할 수는 없다.

0개의 댓글