※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

MySQLのALTER句の使い方

目次






文法

ALTER TABLE tbl_name ADD [COLUMN] column_definition AFTER col_name;

最初の場合

ALTER TABLE tbl_name ADD [COLUMN] column_definition FIRST;



実践

適当にデータベース作成

CREATE TABLE news(
id INT UNSIGNED AUTO_INCREMENT primary key,
title VARCHAR(64) NOT NULL,
category tinyint NOT NULL,
body text NOT NULL,
url VARCHAR(255) NOT NULL,
created DATETIME,
modified DATETIME
);



releasedをcreatedの後ろに追加

alter table news add released datetime after created;



mycategoryをbodyの後ろに追加でdefaultは1とかにしてみる。

alter table news add mycategory tinyint default 1 after body;



カラムを削除 mycategoryを削除してみる。

alter table news drop mycategory;



INDEXを追加

ALTER TABLE news ADD INDEX index_posts_on_updated_at(updated_at);
ALTER TABLE news ADD INDEX index_mycategory(mycategory);

MULになる。

INDEXを削除

ALTER TABLE テーブル名 DROP INDEX インデックス名;
ALTER TABLE news DROP INDEX index_mycategory;



複合インデックス

ALTER TABLE posts ADD INDEX index_col1name_col2name(created_at, updated_at);

※適当にインデックス名を付ける