SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのALTER TABLEステートメントの使い方|列の追加・変更・削除・名前変更

SQL Serverでは、ALTER TABLEステートメントを使用することで、テーブルへの列(カラム)の追加、既存列の編集(変更)削除、さらには列名やテーブル名の変更といった、テーブル構造に関するさまざまな操作を行うことができます。この記事では、それぞれの操作について構文と実行例を交えて詳しく解説します。

SQL Serverでテーブルに列を追加する

構文

  ALTER TABLE テーブル名
ADD 列名 列定義;

実行例

  ALTER TABLE nhanvien
ADD ho VARCHAR(50);

上記のALTER TABLEステートメントは、nhanvien(従業員)テーブルに最大50文字の文字列を格納できる「ho(姓)」という新しい列を追加します。

SQL Serverでテーブルに複数の列を追加する

構文

  ALTER TABLE テーブル名
ADD 列1 列定義,
列2 列定義,

列N 列定義;

実行例

  ALTER TABLE nhanvien
ADD ho VARCHAR(50),
ten VARCHAR(40);

この例のように、ADD句の後に列をカンマで区切って並べることで、1つのALTER TABLEステートメントで複数の列を同時に追加できます。ここでは、「ho」列をVARCHAR(50)型で、「ten(名)」列をVARCHAR(40)型で追加しています。

SQL Serverでテーブルの列を編集(変更)する

既存の列のデータ型やNULL値の許可設定などを変更したい場合は、ALTER COLUMN句を使用します。

構文

  ALTER TABLE テーブル名
ALTER COLUMN 列名 データ型;

実行例

  ALTER TABLE nhanvien
ALTER COLUMN ho VARCHAR(75) NOT NULL;

このコマンドにより、「ho」列はVARCHAR(75)型に変更され、NULL値が許可されなくなります。

SQL Serverでテーブルの列を削除する

構文

  ALTER TABLE テーブル名
DROP COLUMN 列名;

実行例

  ALTER TABLE nhanvien
DROP COLUMN ho;

上記のALTER TABLEステートメントは、テーブルから「ho」列を削除します。なお、DROP COLUMNで削除した列とそのデータは元に戻すことができないため、実行前に内容をよく確認することが重要です。

SQL Serverでテーブルの列名を変更する

SQL Serverでは、ALTER TABLEコマンドだけでは列名を直接変更できません。その代わりに、システムストアドプロシージャのsp_renameを使用します。ただし、名前の変更によって依存するスクリプトやストアドプロシージャが壊れる可能性があるため、Microsoftはオブジェクトを削除して再作成する方法を推奨しています。

構文

  sp_rename 'テーブル名.現在の列名', '新しい列名', 'COLUMN';

実行例

  sp_rename 'nhanvien.ho', 'honhanvien', 'COLUMN';

この例では、sp_renameを使用してnhanvienテーブルの「ho」列の名前を「honhanvien」に変更しています。

SQL Serverでテーブル名を変更する

SQL Serverでは、ALTER TABLEコマンドを使用してテーブル名を変更することはできません。代わりにsp_renameを使用できますが、こちらも同様に、依存するスクリプトやストアドプロシージャへの影響を避けるため、Microsoftはテーブルを削除して再作成することを推奨しています。

構文

  sp_rename '現在のテーブル名', '新しいテーブル名';

実行例

  sp_rename 'nhanvien', 'nv';

このコマンドにより、nhanvienテーブルの名前が「nv」に変更されます。


  1. SQL ServerのIF...ELSE文とは?基本構文と実践例をわかりやすく解説

    他のプログラミング言語と同様に、SQL Serverでも条件分岐を行うためのIF...ELSEコマンドが用意されています。本記事では、IF...ELSE文の構文の使い方を、わかりやすい具体例とともに詳しく解説します。 概要 SQL ServerにおけるIF...ELSE文は、条件に応じて処理を分岐させるために使用されるステートメントです。条件がTRUE(真)と評価された場合は一方的な処理を実行し、FALSE(偽)と評価された場合には別の処理を実行します。 IF...ELSE文の構文 SQL ServerでIF...ELSEによる分岐処理を行うには、以下の構文に従って記述します。 IF 条件式{

  2. SQL ServerのPIVOT句とは?クロス集計で行を列に変換する方法を実例付きで解説

    SQL Server(Transact-SQL)では、PIVOT句を使用することで、クロス集計(ピボットテーブル)を作成できます。PIVOT句は、テーブル内の行データを列に変換し、集計結果を見やすい形式で表示するための強力な機能です。 下図は、合計値を計算し、行データを列に変換して表示する例です。 PIVOT句の基本構文 SELECT cot_dautien AS bidanh_cot_dautien, [giatri_chuyen1], [giatri_chuyen2], … [giatri_chuyen_n] FROM ( SELECT bang_nguon.cot1