반응형

문법


문법에 들어가기 앞서, 공통 테이블 예시

CREATE TABLE ex_table (
id INT,
sFirst VARCHAR(32),
sThird VARCHAR(32),
nSecond INT,
sFifth VARCHAR(32)
)

 

컬럼 추가 (Add)

nSixth INT형 컬럼 추가

ALTER TABLE [테이블명] ADD [컬럼명] [타입]
ALTER TABLE ex_table ADD COLUMN nSixth INT;

결과

 

특정 컬럼 뒤에 추가 (Add)

sThird 컬럼 뒤에 sFourth VARCHAR형 컬럼 추가

ALTER TABLE [테이블명] ADD COLUMN [추가할컬럼명] [컬럼타입] DEFAULT [기본값] [컬럼위치]
ALTER TABLE ex_table ADD COLUMN sFourth varchar(32) DEFAULT NULL AFTER sThird;

 

결과


컬럼 타입 변경 (Modify)

sFifth 컬럼 VARCHAR(32) -> VARCHAR(55)로 변경

ALTER TABLE [테이블명] MODIFY [컬럼명] [타입]
ALTER TABLE ex_table MODIFY COLUMN sFifth VARCHAR(55);

결과

 

여러 컬럼 한번에 변경 (Modify)

nSixth 컬럼 INT(11) -> INT(6) , sFirst 컬럼 VARCHAR(32) -> VARCHAR(11)

ALTER TABLE ex_table
MODIFY COLUMN nSixth INT(6),
MODIFY COLUMN sFirst VARCHAR(11);

결과

 

컬럼 순서변경 (Modify)

sFirst 컬럼 뒤에 nSecond 컬럼 배치 하기 

ALTER TABLE [테이블명] MODIFY [순서변경 할 컬럼명] [컬럼타입] AFTER [컬럼위치];
ALTER TABLE ex_table MODIFY nSecond int AFTER sFirst;

결과

 

컬럼 이름까지 변경 (Change)

nSecond 컬럼 이름 변경 -> sSecond , 타입 변경 INT -> VARCHAR(22)

ALTER TABLE [테이블명] CHANGE [변경 전 컬럼명] [변경 후 컬럼명] [컬럼타입]
ALTER TABLE ex_table CHANGE COLUMN nSecond sSecond VARCHAR(22);

결과

 

 

주의 : 기존 데이터가 유실될수 있으므로, 컬럼의 크기는 늘릴수만 있습니다.


컬럼 삭제 (Drop)

nSixth 컬럼 삭제

ALTER TABLE [테이블명] DROP [컬럼명]
ALTER TABLE ex_table DROP COLUMN nSixth;

결과


Primary Key(PK) 설정

id 컬럼 Primary Key(PK) 추가

ALTER TABLE [테이블명] ADD PRIMARY KEY (Key 설정 컬럼 명01, Key 설정 컬럼 명02) 
ALTER TABLE ex_table ADD PRIMARY KEY (id);

 

결과

Primary Key(PK) 삭제

모든 컬럼 Primary Key(PK) 삭제

ALTER TABLE [테이블명] DROP PRIMARY KEY
ALTER TABLE ex_table DROP PRIMARY KEY;

결과


컬럼 디폴트값 변경

sFirst 컬럼 기본 값을 '첫번째값'으로 설정

ALTER TABLE [테이블명] ALTER COLUMN [컬럼명] SET DEFAULT [기본값]
ALTER TABLE ex_table ALTER COLUMN sFirst SET DEFAULT '첫번째값';

 

결과

컬럼 디폴트값 삭제

sFirst 컬럼 기본 값을 삭제

ALTER TABLE [테이블명] ALTER [컬럼명] DROP DEFAULT
ALTER TABLE ex_table ALTER sFirst DROP DEFAULT;

결과


컬럼 인덱스 설정

id 컬럼 `pkindex` 인덱스 설정

ALTER TABLE [테이블명] ADD INDEX 인덱스명(인덱스 설정 컬럼01, 인덱스 설정 컬럼02) 
ALTER TABLE ex_table ADD INDEX pkindex(id);

결과

컬럼 인덱스 삭제

pkindex 인덱스 삭제

ALTER TABLE [테이블명] DROP INDEX [인덱스명]
ALTER TABLE ex_table DROP INDEX pkindex;

결과

 


테이블 이름 변경 (RENAME)

테이블 이름 변경 ex_table -> ex_alterTable

ALTER TABLE [테이블명] RENAME [변경 후 테이블명]
ALTER TABLE ex_table RENAME ex_alterTable;

결과


테이블 스토리지 엔진(Storage Engine) 변경

 

스토리지 엔진 종류 가지 : [InnoDB || MyISAM]

 

ex_alterTable 엔진을 INNODB로 변경

ALTER TABLE [테이블명] ENGINE = [형식]
ALTER TABLE ex_alterTable ENGINE = INNODB

현재 스토리지 엔진 확인 방법

SELECT engine, support FROM information_schema.engines WHERE support='DEFAULT';

 

예제 파일 제공


[MariaDB] ALTER TABLE.sql
0.00MB

반응형

+ Recent posts