티스토리 뷰

반응형

mysql 테이블 이름 변경하기 아주 쉬운 방법, 테이블 변경의 모든 것

PHP에서 DB를 다루려면 반드시 알아야 하는 mysql의 테이블을 기존이름에서 새 이름으로 변경하는 방법부터 구조만 복사하고 싶을때,

구조와 내용을 복사하고 싶을때 등 여러가지 응용하는 방법에 대해서 알아봅시다~


1. 테이블 이름 바꾸기
ALTER TABLE `원래 테이블 이름` RENAME `수정할 테이블 이름`

alter table worklist rename workerlist;

위와 같이 성공하면 표시가 됩니다.



2. 구조만 복사
CREATE TABLE `생성될 테이블명` LIKE `구조를 복사할 테이블`;
속성까지 복사가 안되기 때문에 확인후 아래와 같이 속성지정
ALTER TABLE `복사된 테이블명` MODIFY `칼럼명` INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
ALTER TABLE `복사된 테이블명` ADD UNIQUE (`칼럼명`);
ALTER TABLE `복사된 테이블명` ADD INDEX (`칼럼2`);
ALTER TABLE `복사된 테이블명` ADD INDEX (`칼럼3`);
  


3. 구조와 내용복사
CREATE TABLE `생성될 테이블명` AS SELECT * FROM `구조를 복사할 테이블`;

4. 테이블 형식 변경 
Engine 사용 : ALTER TABLE 테이블명 ENGINE=형식; 
type 사용 : ALTER TABLE 테이블명 TYPE=형식;

5. 테이블 이름 변경 
ALTER TABLE 테이블명 RENAME 바꿀이름
RENAME TABLE 테이블명 TO 바꿀이름

6. 칼럼 추가 
마지막에 추가 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 
지정 칼럼 뒤에 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 AFTER 칼럼이름
제일 앞에 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 FIRST

7. 칼럼 삭제 
ALTER TABLE 테이블명 DROP COLUMN 칼럼이름

8. 칼럼 변경 
ALTER TABLE 테이블명 MODIFY 컬럼이름 새컬럼타입
ALTER TABLE 테이블명 CHANGE 컬럼이름 새컬럼이름 새컬럼타입

9. 인덱스에 새항목 추가 
ALTER TABLE 테이블명 ADD INDEX(컬럼이름)

10. 인덱스 삭제 
ALTER TABLE 테이블명 DROP INDEX 컬럼이름
DROP INDEX 인덱스이름 ON 테이블명

11. 기본키(Primary Key) 지정하기 
ALTER TABLE 테이블명 ADD PRIMARY KEY(칼럼이름) 컬럼이름

12. 기본키 삭제
ALTER TABLE 테이블명 DROP PRIMARY KEY

 

Null값을 각 필드에 넣는 방법. 직접실행함.

ALTER TABLE `workerlist` CHANGE `num` `num` INT(10) NOT NULL AUTO_INCREMENT, CHANGE `item` `item` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `company` `company` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `car` `car` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `name` `name` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `tel` `tel` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `comment1` `comment1` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `comment2` `comment2` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `comment3` `comment3` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `comment4` `comment4` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `comment5` `comment5` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

반응형
댓글