MySQL テーブルの構造変更
ここでは、既存のデータベースに対してカラムの追加などの操作をまとめる。サンプルのデータベースは MySQL 基本的なDB作成 で作成したfriendDBを使用する。
◎BOOL
カラムの追加
nameカラムの後に性別を格納するgenderカラムを追加する。このカラムは0 - 男,1 - 女を意味するBool値を格納するものとする。mysql> ALTER TABLE friends ADD gender BOOL NOT NULL AFTER name;削除する場合は以下のとおり。
mysql> ALTER TABLE friends DROP gender;
◎BOOL
BOOLは実際にはTINYINT(1)と同じなので、-128〜127の値が格納できてしまう。
カラムの変更
nameカラムのサイズを60文字に拡張したい場合は以下のようにする。mysql> ALTER TABLE friends CHANGE name name VARCHAR(60)
CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
インデックスをつける
nameカラムにインデックスをつけてテーブルを作る場合は以下のようにする。(nameの最初の10文字をインデックスに使用。)mysql> CREATE TABLE friends (id SERIAL, name VARCHAR(30)既存のテーブルに後からインデックスを追加する場合
NOT NULL, address VARCHAR(100), birthday DATETIME,
INDEX name_idx (name(10)));
mysql> CREATE INDEX name_idx ON friends (name(10));インデックスを削除する場合は以下。
mysql> DROP INDEX name_idx ON friends;インデックスの設定状態を表示するには以下のようにする。
mysql> SHOW INDEX FROM friends;