ALTER TABLE ステートメントを使ってテーブルのスキーマを変更する
SQL Server 2005でテーブルのスキーマを変更するには、いくつかの方法があります。 どの方法を選択するかは、変更内容によって異なります。
方法
ALTER TABLE ステートメントを使用して、テーブルのスキーマを変更できます。
例:
- 列を追加する
ALTER TABLE テーブル名 ADD 列名 データ型;
- 列の名前を変更する
ALTER TABLE テーブル名 RENAME COLUMN 旧列名 TO 新列名;
ALTER TABLE テーブル名 ALTER COLUMN 列名 SET DATA TYPE データ型;
SSMS を使用
SQL Server Management Studio (SSMS) を使用して、テーブルのスキーマを変更できます。
手順:
- SSMS を開き、データベースに接続します。
- オブジェクト エクスプローラーで、変更するテーブルを選択します。
- テーブルを右クリックし、「デザイン」を選択します。
- テーブル デザイナーで、必要な変更を行います。
- 変更を保存します。
スクリプトを使用
USE テーブル名;
GO
ALTER TABLE テーブル名 ADD 列名 データ型;
GO
ALTER TABLE テーブル名 RENAME COLUMN 旧列名 TO 新列名;
GO
ALTER TABLE テーブル名 ALTER COLUMN 列名 SET DATA TYPE データ型;
GO
注意事項
- スキーマを変更する前に、必ずデータベースをバックアップしてください。
- スキーマ変更によって、アプリケーションの動作に影響を与える可能性があります。
- 変更を行う前に、影響を受けるすべてのユーザーに通知してください。
- 上記以外にも、スキーマを変更する方法はいくつかあります。
- 詳細については、SQL Server のドキュメントを参照してください。
USE テーブル名;
GO
ALTER TABLE テーブル名 ADD 新列名 int;
GO
USE テーブル名;
GO
ALTER TABLE テーブル名 RENAME COLUMN 旧列名 TO 新列名;
GO
USE テーブル名;
GO
ALTER TABLE テーブル名 ALTER COLUMN 列名 SET DATA TYPE varchar(50);
GO
SSMS を使用して列を追加する
- テーブル デザイナーで、「列」グリッドに新しい行を追加します。
- 新しい行の「名前」列に、新しい列の名前を入力します。
USE テーブル名;
GO
ALTER TABLE テーブル名 ADD 新列名 int;
GO
SQL Server 2005でテーブルのスキーマを変更するその他の方法
- CHECK CONSTRAINT ステートメントを使用して、列に制約を追加できます。
- DEFAULT ステートメントを使用して、列のデフォルト値を設定できます。
- SSMS を使用して、テーブルのインデックスを作成できます。
USE テーブル名;
GO
ALTER TABLE テーブル名 ADD CONSTRAINT 列名 CHECK (列名 > 0);
GO
ALTER TABLE テーブル名 ALTER COLUMN 列名 DEFAULT 10;
GO
ALTER TABLE テーブル名 ADD PRIMARY KEY (列名);
GO
ALTER TABLE テーブル名 ADD UNIQUE (列名);
GO
sql-server database