kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

テーブル定義SQL

毎回調べているのでメモ

--テーブルの追加
create table hoge (
        a VARCHAR(8) NOT NULL,
        b VARCHAR(3) NOT NULL,
        c VARCHAR(30),
        primary key (a,b)
    )


--カラムの追加
--oracle
--oracleでは括弧で括る必要がある
alter table hoge add (a int)
--postgres,mysql,sql server ,access
alter table hoge add a int

--カラムの削除
--oracle
--oracleでは括弧で括る必要がある
alter table hoge drop (a )
--sql server ,access
--sql server ,accessでは、columnを追加する必要がある
alter table hoge drop column a 
--postgres,mysql
alter table hoge drop a

--カラムの属性変更
--oracle
--ただし、対象カラムが全てNullである必要がある
alter table hoge modify (a varchar2(30))
--sql server
alter table hoge alter column (a varchar(30))
--mysql
alter table hoge modify a varchar(30)
--postgres
--http://d.hatena.ne.jp/pasela/20081202/alter_column
ALTER TABLE foo ALTER COLUMN bar TYPE INTEGER USING CAST(bar AS INTEGER);

http://www.postgresql.jp/document/pg835doc/html/sql-altertable.html