サーチ…


前書き

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