내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
database:mysql:alter_table
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== MySQL 테이블 수정 ====== * [[https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html|pt-online-schema-change]] Lock 덜걸리고 Alter Table 수행하기 위한 솔루션 ===== 이름 바꾸기 ===== <code sql> ALTER TABLE tablename RENAME bbs; </code> ===== 컬럼 속성 수정 ===== <code sql> ALTER TABLE tablename MODIFY colname INT NOT NULL AUTO_INCREMENT PRIMARY KEY; </code> ''ALTER TABLE tablename MODIFY 컬럼이름 컬럼속성'' ===== 컬럼 이름 바꾸기 ===== <code sql> ALTER TABLE tablename CHANGE colname newcolname INT NOT NULL AUTO_INCREMENT; </code> ''CHANGE''는 컬럼 속성뿐아니라 이름도 바꿔준다. ===== 컬럼 추가 ===== <code sql> ALTER TABLE bbs ADD name varchar(10); </code> ''ALTER TABLE tablename ADD 컬럼이름 컬럼속성'' ===== 컬럼 삭제 ===== <code sql> ALTER TABLE bbs DROP colname; </code> ===== 특정 컬럼 뒤에 새로운 컬럼 추가 ===== <code sql> ALTER TABLE bbs ADD newcol varchar(10) AFTER num; </code> num 컬럼 뒤에 newcol 컬럼 추가. ===== 기존 컬럼을 지우고 맨 앞에 컬럼 추가 ===== <code sql> ALTER TABLE bbs DROP newcol, ADD newcol VARCHAR(10) FIRST; </code> 맨 앞에 추가하려면 FIRST를 사용한다. ===== PRIMARY KEY 속성 삭제 ===== <code sql> ALTER TABLE test DROP PRIMARY KEY; </code> ===== 이미 PRIMARY KEY인 컬럼의 속성을 바꿀 때 ===== PRIMARY KEY 속성은 지정하지 말고, NOT NULL 속성을 함께 지정해 주면 기존 PRIMARY KEY 속성은 그대로 남은 상태로 컬럼의 속성을 변경할 수 있다. <code sql> ALTER TABLE test MODIFY a CHAR(1) NOT NULL; </code> ===== 테이블의 내용 전체 삭제 ===== <code sql> SET FOREIGN_KEY_CHECKS = 0; TRUNCATE TABLE tablename; SET FOREIGN_KEY_CHECKS = 1; </code> 트랜잭션에 의해 복구될 수 없다. MySQL 5.5.7 부터 FOREIGN KEY 설정이 된 테이블을 TRUNCATE 하려면 **FOREIGN_KEY_CHECKS**을 ''0''으로 지정해야한다. 안 그러면 ''Cannot truncate a table referenced in a foreign key constraint'' 오류가 발생한다.
database/mysql/alter_table.txt
· 마지막으로 수정됨: 2018/02/28 16:03 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로