このセクションでは、ALTER TABLEコマンドを使用してcolumnsデータ型を変更する方法について説明します。
列のデータ型を変更するコマンド
列のデータ型を変更するには、ALTER TABLEコマンドを使用します。
列データ型を変更する基本的な構文は次のとおりです。
上記の構文では、次のパラメータを使用します:
パラメータ | 説明 |
---|---|
Table_Name | これは、列のデータ型を変更するテーブルの名前を定義するために使用されます。 |
Column_Name | これは、列の名前を指定するために使用され、データ型はALTER COLUMN条件で変更されます。 |
New_Data_Type | これは、Typeキーワードの後、および列の参照に使用されます。 TYPEまたはSETデータ型のいずれかを使用する可能性があります。 |
単一のコマンドで複数の列を変更するための構文
単一のコマンドで複数の列のデータ型を変更するには、以下の構文を使用します。
上記の構文でわかるように、コンマ(,)を使用して各列の条件を個別に変更して、さまざまな列の型を一度に変換することができます。
PostgreSQLでは、以下のコマンドでわかるように、USING条件を追加して、列のデータ型を変更しながら、古い列の値を新しい値に変更することができます。
注: PostgreSQLでは、USING句を使用して、古い列の値から新しい列の値を追加できます。
USING条件を使用していない場合、PostgreSQLは古い列の値を新しい列の値に間接的に作成します。 また、作成が失敗した場合、PostgreSQLは問題を提起し、変更に使用される式を使用してUSING句を指定するように求めます。
PostgreSQLの変更列タイプの例
列タイプの変更を表示するために、Student_Informationという新しいテーブルを作成します。
上記のコマンドを実行すると、Student_Informationtableが作成されたことを示す以下のメッセージウィンドウが表示されます。
その後、特定のテーブルにいくつかの行を挿入します。
出力
上記のコマンドを実行すると、次のメッセージウィンドウが表示されます。Student_Informationテーブルに三つの行が挿入されました。
Stu_Name列のデータ型をVarchar
Output
上記のコマンドを実行した後、以下の結果が得られます。
次のコマンドは、Stu_Name列のデータ型をVarchar
STU_AGEおよびSTU_ADDRESSの列は、INTからVARCHAR、CharからVarcharになります。
出力
上記のコマンドを実行すると、次のメッセージウィンドウが表示されます。Student_Information table has been altered.
上記のすべての操作を確認したい場合は、Selectコマンドを使用します。
Output
上記のコマンドを実行した後、以下の出力が得られます。