본문 바로가기

Tech/BoostCourse - WEB

[부스트코스] MySQL 시작하기 (4/4) (DDL - create, drop)

데이터 정의어(Data Description Language, DDL)

데이터베이스를 정의하는 언어

데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할

  • CREATE
  • ALTER
  • DROP
  • ...

 

MySQL 데이터 타입

 

테이블 생성

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 테이블을 생성하시오.

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
);

 

 

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

alter table 테이블명
add 필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];

alter table 테이블명
drop 필드명;

 

예제: EMPLOYEE2 테이블에 생일(birthdate) 칼럼을 varchar(12)형식으로 추가하시오.

alter table EMPLOYEE2
add birthdate varchar(12);

 

예제: EMPLOYEE2 테이블의 생일(birthdate) 칼럼을 삭제하시오.

alter table EMPLOYEE2
drop birthdate;

 

 

테이블 수정 (컬럼 수정)

alter table 테이블명
change 필드명 새필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];

 

예제: EMPLOYEE2 테이블의 부서번호(deptno)를 dept_no로 수정하시오.

alter table EMPLOYEE2
change deptno dept_no int(11);

 

 

테이블 이름 변경

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

 

예제: EMPLOYEE2 테이블의 이름을EMPLOYEE3로 변경하시오.

alter table EMPLOYEE2
rename EMPLOYEE3;

 

 

테이블 삭제하기

drop table 테이블이름;

참고로, 제약 조건(다른 테이블과 관계가 맺어진 경우)이 있을 경우에는 drop table 명령으로도 테이블이 삭제되지 않을 수 있다.

그럴 경우는 테이블을 생성한 반대 순서로 삭제를 해야한다.

 

예제: EMPLOYEE3 테이블을 삭제하시오.

drop table EMPLOYEE3;

 

 

[부스트코스 관련 강의 링크]

DDL(create, drop) - https://www.edwith.org/boostcourse-web/lecture/16722/

 

[LECTURE] 3) DDL(create, drop) : edwith

들어가기 전에 이번 시간엔 데이터가 저장되는 틀인 테이블을 생성, 수정, 삭제하는 방법에 대해 배워보도록 하겠습니다.   학습 목표 테이블을 생성할 수 있다. 테이블을 수정할 수 ... - 부스트코스

www.edwith.org

반응형