-
MySQL 데이터 정의어 DDL (create, alter, drop)DB/MySQL 2020. 6. 2. 22:16
CREATE 테이블 생성
: 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 : 입력하지 않았을때의 초기값 지정
- AUTO_INCREMENT : 자동으로 1씩 증가하는 번호를 위함
--테이블 생성 예제 CREATE TABLE EMPLOYEE( 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 테이블 수정
컬럼추가
: alter table 테이블명
add 필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];
컬럼삭제
: alter table 테이블명 drop 필드명;
컬럼수정
: alter table 테이블명
change 필드명 새필드명 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT];
- change 키워드를 사용해 컬럼을 새롭게 재정의 (이름부터 속성까지 전부)
테이블 이름 변경
: alter table 테이블명 rename 변경할 이름;
--테이블 수정 예제 --EMPLOYEE 테이블에 생일(birthdate)컬럼을 varchar(12)형식으로 추가 alter table employee add birthdate varchar(12); --EMPLOYEE 테이블의 생일(birthdate)컬럼을 삭제 alter table employee drop birthdate; --EMPLOYEE 테이블의 부서번호(deptno)를 dept_no로 수정 alter table employee change deptno dept_no int(11); --EMPLOYEE 테이블의 이름을 EMPLOYEE2로 변경 alter table employee rename employee2;
DROP 테이블 삭제
: drop table 테이블이름;
* 제약조건이 걸려있을 시 테이블이 삭제되지 않을 수 있다.
그럴 경우 테이블을 생성한 반대 순서로 삭제하면 된다.
'DB > MySQL' 카테고리의 다른 글
Insert시 Data truncated for column 'date' at row 1 경고 (0) 2020.12.30 [MySQL5.7] 한글깨짐 character set UTF8 설정하기 (0) 2020.06.04 MySQL 데이터 조작어 DML(select, insert, update, delete) (0) 2020.06.02 MySQL Database 생성/계정생성/권한부여 (0) 2020.06.02 MySQL 환경변수 설정 (0) 2020.06.02