[SQL] MySQL 필드 및 Index 추가 쿼리
웹 작업을 진행하다보면 기존 테이블에 필드를 추가하거나 필드 타입을 변경하는 등의 작업을 해야할 때가 있다. 개발할 때는 phpMyAdmin 등을 사용해서 변경하면 간단하지만 배포해야하는 솔루션의 경우 사용자가 이런 과정을 하도록하는 것은 좋지 않는 방법이라 생각한다. 다행히 이런 작업을 할 수 있는 쿼리를 포함해 배포를 하면 사용자는 불편함없이 사용할 수 있을 것이다.
1. 기존 테이블에 필드 추가
ALTER TABLE `table_name` ADD `uniqid` VARCHAR(20) NOT NULL DEFAULT '' AFTER `no`;
위 쿼리는 table_name 테이블에 no 필드 다음에 uniqid 필드를 VARCHAR(20) 타입으로 추가한다.
2. 필드타입 변경
ALTER TABLE `table_name` MODIFY COLUMN no INT(11) NOT NULL;
위 쿼리는 table_name의 no 필드 타입을 INT(11)로 변경한다.
3. INDEX KEY 추가
ALTER TABLE `table_name` ADD INDEX Index1 (uniqid, no);
위 쿼리는 table_name 테이블에 uniqid 와 no 필드를 Index1 이란 이름으로 INDEX를 추가한다.
ALTER TABLE `table_name` ADD UNIQUE Unique1 (uniqid);
위 쿼리는 table_name 테이블에 uniqid 필드를 Unique1이란 이름으로 UNIQUE INDEX를 추가한다.
4. INDEX 삭제
ALTER TABLE `table_name` DROP INDEX Index1;
위 쿼리는 table_name 테이블에서 Index1이란 INDEX를 삭제한다.