SQL構文(2)

制約:

  概念:表中のデータは、データの正確性、有効性および完全性を保証するために定義されています。

  カテゴリー:

    1、主キー制約:主キー

    2、非空制約:nullではありません

    3、唯一の制約:ユニーク

    4、外部キー制約:外部キー

---非空制約:nullではない、値がnullにすることはできません

1.制約を追加するテーブルを作成します。

(TABLEstuをCREATE

   IDのINT、NAME VARCHAR(20)NOT NULL - 名前が空です)。

2.非NULL制約を追加した後、テーブルを作成します。

  表STU MODIFY NAME VARCHAR(20)NOT NULLを改変すること。

3.非空制約の名前を削除します。

  表STU MODIFY NAME VARCHAR(20)を変更します。

---唯一の制約:ユニークな、値が繰り返すことはできません

1.テーブルを作成し、ユニーク制約を追加

  (表STUをCREATE

  id INT、

  UNIQUE PHONE_NUMBER VARCHAR(20) - ユニーク制約を追加します

  );

*注:MySQLの、複数の列によって定義される固有の制約がnullの場合もあります

2.ユニーク制約をドロップ

  TABLE STUはDROP INDEXのPHONE_NUMBERを改変すること。

3.テーブルを作成した後、ユニーク制約を追加

  UNIQUE表STU MODIFY PHONE_NUMBER VARCHAR(20)を変更します。

---主キー制約:主キー。

1.注:

  1.意味:空でないとのみ

  2.テーブルには、1つのプライマリキーフィールドを持つことができます

  3.主キーは、テーブルに記録されたユニークな識別子であります

2.あなたがテーブルを作成する場合、主キー制約を追加

  (テーブルSTUを作成します

  ID int型主キー、 - 主キー制約IDに追加します

  名前のVARCHAR(20)

  );

3.ドロッププライマリ

  ID int型を変更し、テーブルSTUを変更; - エラー

  右の方法 - ;表STU DROP PRIMARY KEYをALTER

4.表を作成した後、主キーを追加

  表STUをALTERのID INT PRIMARY KEYを変更します。

5.自動成長:

  1.コンセプト:カラムが数値型である場合は、AUTO_INCREMENTを使用することは価値を高める自動的に行うことができます

  2.あなたがテーブルを作成し、主キー制約、および成長の主キーの完了を追加

    (テーブルSTUを作成します

    IDは、主キーAUTO_INCREMENTをint型 - 主キー制約のIDを追加します

    名前のVARCHAR(20)

    );

  3.自動成長を削除します

   表STUをALTERのid INTを修正。

  4.自動拡張を追加

   表STUは、IDのINT AUTO_INCREMENTを変更するALTER。

---外部キー制約:外部キー(データの正しさを保証するように、テーブルは、テーブルの関係を生成することになります。)

あなたがテーブルを作成するときは、外部キーを追加することができます1。

   構文:

   (名表テーブルを作成します

   ....

   外部キー列

   外部キー制約外部キー(外部キー列名)の名前は、主テーブル(プライマリテーブルのカラム名)の名前を参照します

  );  

2.外部キーを削除します。

   TABLEテーブルのDROP FOREIGN KEY外部キーの名前を改変すること。

3.あなたがテーブルを作成した後、外部キーを追加

  REFERENCESが(主テーブルのカラム名を)マスターテーブルに名前を付けるCONSTRAINT外部キーの名前FOREIGN KEY(外部キーフィールド名)を追加TABLEテーブル名を改変すること。

4.カスケード操作

  1.カスケード操作を追加します。

  構文:ALTER TABLEテーブル名ADD CONSTRAINTの外部キー名

     FOREIGN KEY(外部キーフィールド名)を参照するにはCASCADEをDELETE UPDATE CASCADE ONのマスタテーブル(プライマリ・テーブルのカラム名)名。

  2.カテゴリー:

    1.連鎖更新:UPDATE CASCADE ON

    2.カスケード削除:DELETE CASCADE ON

 

おすすめ

転載: www.cnblogs.com/liuhuan425/p/10961046.html