サーチ…
前書き
SQLのALTERコマンドは、表の列/制約を変更するために使用されます。
構文
- ALTER TABLE [テーブル名] ADD [カラム名] [データ型]
列を追加
ALTER TABLE Employees
ADD StartingDate date NOT NULL DEFAULT GetDate(),
DateOfBirth date NULL
上記のステートメントは、現在の日付としてデフォルト値でNULLにできないStartingDate
という名前の列を追加し、 EmployeesテーブルでNULLになるDateOfBirth
を追加します。
列を落とす
ALTER TABLE Employees
DROP COLUMN salary;
これにより、その列の情報が削除されるだけでなく、テーブルの従業員から列の給与が削除されます(列は存在しなくなります)。
ドロップ制約
ALTER TABLE Employees
DROP CONSTRAINT DefaultSalary
これは、Employeeテーブル定義からDefaultSalaryという制約を削除します。
注 -列を削除する前に、列の制約が削除されていることを確認してください。
制約を追加する
ALTER TABLE Employees
ADD CONSTRAINT DefaultSalary DEFAULT ((100)) FOR [Salary]
これにより、Salary列のデフォルト値100を指定するDefaultSalaryという制約が追加されます。
表レベルで制約を追加できます。
制約の種類
- 主キー - テーブルのレコードが重複しないようにする
- 外部キー - 別のテーブルからの主キーへのポインタ
- Not Null - NULL値が列に入力されないようにする
- ユニーク - テーブル内の各レコードを一意に識別
- デフォルト - デフォルト値を指定します。
- チェック - 列に配置できる値の範囲を制限します。
制約の詳細は、 Oracleのマニュアルを参照してください。
列を変更する
ALTER TABLE Employees
ALTER COLUMN StartingDate DATETIME NOT NULL DEFAULT (GETDATE())
この問合せは、 StartingDate
の列データ型を変更し、単純なdate
からdatetime
変更し、デフォルトを現在の日付に設定します。
主キーを追加
ALTER TABLE EMPLOYEES ADD pk_EmployeeID PRIMARY KEY (ID)
これにより、フィールドID
テーブルEmployeesにプライマリキーが追加されID
。 IDと共にカッコ内に複数の列名を含めると、複合主キーが作成されます。複数の列を追加する場合は、列名をコンマで区切る必要があります。
ALTER TABLE EMPLOYEES ADD pk_EmployeeID PRIMARY KEY (ID, FName)
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow