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

Adsense

MySQL テーブルの構造変更 の差分
Rev.3→Rev.4  追加箇所 削除箇所


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

カラムの追加

nameカラムの後に性別を格納するgenderカラムを追加する。このカラムは0 - 男,1 -女を意味するBool値を格納するものとする。

mysql> ALTER TABLE friends ADD bool BOOL NOT NULL AFTER name;

削除する場合は以下のとおり。

mysql> ALTER TABLE friends DROP bool;

◎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;