カラムの変更方法
カラム変更(追加・変更・削除)の方法について説明します。
カラムの追加
テーブルのカラムの追加のSQLを説明します。
構文は以下の通りです。
ALTER TABLE テーブル名 ADD カラム名 型
実際にSQLを実行し項目が追加してみます。
【SQL文】
ALTER TABLE VFY_COLUMN_TEST ADD COLUMN TEL VARCHAR(10) ;
実行結果は以下の通りです。TELカラムが追加されました。
SQL> ALTER TABLE VFY_COLUMN_TEST 2 ADD COLUMN TEL VARCHAR(10) 3 ; DB250000I: コマンドは正常に完了しました。 SQL> DESC VFY_COLUMN_TEST TABLE - VFY_COLUMN_TEST ******************************************************************************** 名前 データ・タイプ タイプ・スキーマ 長さ スケール NULL 非表示 ------------------- ------------- ------------- -------- ------- ----- -------- NO INTEGER SYSIBM 4 0 Y Not NAME VARCHAR SYSIBM 30 0 Y Not ADDR VARCHAR SYSIBM 100 0 Y Not TEL VARCHAR SYSIBM 10 0 Y Not ********************************************************************************
カラムの変更
テーブルのカラムの変更のSQLを説明します。
構文は以下の通りです。
ALTER TABLE テーブル名 ALTER カラム名 SET DATA TYPE 型
実際にSQLを実行し項目を変更してみます。
【SQL文】
ALTER TABLE VFY_COLUMN_TEST ALTER COLUMN TEL SET DATA TYPE VARCHAR(15) ;
実行結果は以下の通りです。TELカラムが拡張されました。
SQL> ALTER TABLE VFY_COLUMN_TEST 2 ALTER COLUMN TEL 3 SET DATA TYPE VARCHAR(15) 4 ; DB250000I: コマンドは正常に完了しました。 SQL> DESC VFY_COLUMN_TEST TABLE - VFY_COLUMN_TEST ******************************************************************************** 名前 データ・タイプ タイプ・スキーマ 長さ スケール NULL 非表示 ------------------- ------------- ------------- -------- ------- ----- -------- NO INTEGER SYSIBM 4 0 Y Not NAME VARCHAR SYSIBM 30 0 Y Not ADDR VARCHAR SYSIBM 100 0 Y Not TEL VARCHAR SYSIBM 15 0 Y Not ********************************************************************************
カラムの削除
テーブルのカラムの削除のSQLを説明します。
構文は以下の通りです。
ALTER TABLE テーブル名 DROP カラム名
実際にSQLを実行し項目を削除してみます。
【SQL文】
ALTER TABLE VFY_COLUMN_TEST DROP COLUMN TEL ;
実行結果は以下の通りです。TELカラムが削除されました。
SQL> ALTER TABLE VFY_COLUMN_TEST 2 DROP COLUMN TEL 3 ; DB250000I: コマンドは正常に完了しました。 SQL> DESC VFY_COLUMN_TEST TABLE - VFY_COLUMN_TEST ******************************************************************************** 名前 データ・タイプ タイプ・スキーマ 長さ スケール NULL 非表示 ------------------- ------------- ------------- -------- ------- ----- -------- NO INTEGER SYSIBM 4 0 Y Not NAME VARCHAR SYSIBM 30 0 Y Not ADDR VARCHAR SYSIBM 100 0 Y Not ********************************************************************************