端くれプログラマの備忘録 MySQL [MySQL] テーブル構造を変更するためのSQL文例

[MySQL] テーブル構造を変更するためのSQL文例

普段の作業にはphpMyAdminを使っているので、僕はSQLにはあまり明るくない。だけど、同じスキームで複数のデータベースを運営しているので、スキーム変更を一括して行うためにはSQLを書かなければならない。

というわけで、自分が良く使いそうなSQL文例を覚え書きしておく。構文については参考サイトに大変解りやすく説明されているので参照のこと。

// テーブルの作成
create table users
(
    id int(11) not null auto_increment,
    username varchar(32) default null,
    password varchar(32) default null,
    memo varchar(128) default null,
    primary key (id)
);

// テーブル一覧の表示
show tables;

// create table ステートメントの表示
show create table users;

// テーブル構造の表示
desc users;

// テーブルの削除
drop table users;

// テーブルの名前変更
alter table users rename to customers;

// カラムの追加
alter table users add column year int(11) default 0 not null after password;

// カラムの名前&属性変更
alter table users change column year birth_year int(11) default 0 not null;

// カラムの属性変更
alter table users modify column memo text default null;

// カラムの削除
alter table users drop memo;

参考サイト

MySQL: 既存テーブルの構造の変更 – ALTER TABLE文、CHANGE COLUMN句
http://www.yukun.info/blog/2008/11/alter-table-add-drop-change-modify.html