「ALTER句の使い方」の編集履歴(バックアップ)一覧はこちら
「ALTER句の使い方」(2016/10/04 (火) 02:30:55) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
MySQLのALTER句の使い方
~
~
目次
#contents
~
~
----
~
~
*文法
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;
~
~
**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;
MySQLのALTER句の使い方
~
~
目次
#contents
~
~
----
~
~
*文法
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);
※適当にインデックス名を付ける
~
~