다음은 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 테이블을 생성하시오.
mysql> 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);
테이블 수정 (column 추가/삭제)
alter table 테이블명
add 필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];
alter table 테이블명
drop 필드명;
예제) EMPLOYEE2 테이블에 생일(birthdate)칼럼을 varchar(12)형식으로 추가하시오.
mysql> alter table employee2
-> add birthdate varchar(12);
예제) EMPLOYEE2 테이블의 생일(birthdate)칼럼을 삭제하시오.
mysql> alter table employee2
-> drop birthdate;
테이블 수정 (column 수정)
alter table 테이블명
change 필드명 새필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];
- change 키워드를 사용하고 칼럼을 새롭게 재정의 (이름부터 속성까지 전부)
예제) EMPLOYEE2 테이블의 부서번호(deptno)를 dept_no로 수정하시오.
mysql> alter table employee2
-> change deptno dept_no int(11);
테이블 이름 변경
alter table 테이블명 rename 변경이름
예제) EMPLOYEE2 테이블의 이름을 EMPLOYEE3로 변경하시오.
mysql> alter table employee2
-> rename employee3;
테이블 삭제
drop table 테이블이름;
단, 제약 조건이 있을 경우에는 drop table 명령으로도 테이블이 삭제되지 않을 수 있다. (foreign key 등)
그럴 경우는 테이블을 생성한 반대 순서로 삭제를 해야한다.
예제) EMPLOYEE2 테이블을 삭제하시오.
drop table employee2;
- char와 varchar의 차이?
char 및 varchar(Transact-SQL)
'Database' 카테고리의 다른 글
PostgreSQL 설치하기 (MacOS 기준) (0) | 2019.12.17 |
---|---|
트랜잭션(Transaction)이란? (0) | 2019.03.03 |
[MySQL] DML(Data Manipulation Language) (0) | 2018.07.03 |
MySQL 기초 정리 (0) | 2018.07.03 |
댓글