無料Wikiサービス | デモページ
Linuxなどのメモ書き

MySQL テーブルの構造変更


ここでは、既存のデータベースに対してカラムの追加などの操作をまとめる。サンプルのデータベースは MySQL 基本的なDB作成 で作成したfriendDBを使用する。

カラムの追加

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;


最終更新 2006/06/16 20:45:53 - kztomita
(2006/06/01 21:39:38 作成)