Post

Database : DDL(Data Definition Language)

Database : DDL(Data Definition Language)

DDL (Data Definition Language)

MySQL 데이터 타입

img


img

테이블 생성

1
2
3
4
5
6
7
create table 테이블명( 
          필드명1 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 
          필드명2 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 
          필드명3 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 
          ........... 
          PRIMARY KEY(필드명) 
          );
  • 데이터 형 외에도 속성값의 빈 값 허용 여부는 NULL 또는 NOT NULL로 설정
  • DEFAULT 키워드와 함께 입력하지 않았을 때의 초기값을 지정
  • 입력하지 않고 자동으로 1씩 증가하는 번호를 위한 AUTO_INCREMENT

테이블 생성 실습

  • EMPLOYEE와 같은 구조를 가진 EMPLOYEE2 테이블을 생성합니다.
1
2
3
4
5
6
7
8
9
CREATE TABLE EMPLOYEE2(   
            empno      INTEGER NOT NULL PRIMARY KEY,  
           name       VARCHAR(10),   
           job        VARCHAR(9),   
           boss       INTEGER,   
           hiredate   VARCHAR(12),   
           salary     DECIMAL(7, 2),   
           comm       DECIMAL(7, 2),   
          deptno     INTEGER);

테이블 수정 (컬럼 추가 / 삭제)

1
2
3
4
5
alter table 테이블명
          add  필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];

alter table 테이블명
         drop  필드명;

테이블 수정 실습 (컬럼 추가)

  • EMPLOYEE2 테이블에 생일(birthdate)칼럼을 varchar(12)형식으로 추가합니다.
1
2
3
alter table EMPLOYEE2

add birthdate varchar(12);

테이블 수정 실습 (컬럼 삭제)

  • EMPLOYEE2 테이블의 생일(birthdate)칼럼을 삭제합니다.
1
2
3
alter table EMPLOYEE2

drop birthdate;

테이블 수정 (컬럼 수정)

1
2
alter table  테이블명
     change  필드명  새필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];
  • change 키워드를 사용하고 칼럼을 새롭게 재정의 합니다 (이름부터 속성까지 전부)

테이블 수정 실습 (컬럼 수정)

  • EMPLOYEE2 테이블의 부서번호(deptno)를 dept_no로 수정합니다.
1
2
3
alter table EMPLOYEE2

change deptno dept_no int(11);

테이블 이름 변경

1
alter table  테이블명 rename 변경이름

테이블 이름 변경 실습

  • EMPLOYEE2 테이블의 이름을 EMPLOYEE3로 변경합니다.
1
2
3
alter table EMPLOYEE2

rename EMPLOYEE3;

테이블 삭제하기

1
drop table 테이블이름;
  • 참고로, 제약 조건이 있을 경우에는 drop table 명령으로도 테이블이 삭제되지 않을 수 있습니다. 그럴 경우는 테이블을 생성한 반대 순서로 삭제를 해야합니다.

테이블 삭제 실습

* 테이블 삭제 후 desc 명령을 수행하면, 존재하지 않는 테이블이라고 표시됩니다.

  • EMPLOYEE2 테이블을 삭제합니다.
1
drop table EMPLOYEE2;

출처 : https://www.boostcourse.org/web326/lecture/58936

This post is licensed under CC BY 4.0 by the author.