mysql- SQL文は、タイトルIII(2)データベースの制約の基礎となっています

1、データベースの制約。

    制約は、テーブルのデータ検証ルール、主にデータベース内のデータの整合性を確保するために使用される制約に適用されます。

    MySQLデータベースこのデータベース・インスタンス内のすべての制約情報を保持するためにTABLE_CONSTRAINTSテーブルのINFORMATION_SCHEMAを使用しました。

2、一般的なデータベースの整合性制約:

   1「NOT NULL:空でない制約。

   2「UNIQUE:唯一の制約は繰り返すことができない列(一つ以上)、または列の組み合わせを指定します。

   3「PRIMARY KEY:主キー制約は、列の値が一意にこのレコードを識別する指定します。

   4「FOREIGN KEY:外部キー制約は、プライマリ・テーブル内のレコードに属する行を指定する(例えば、フィールドのフィールド値は、フィールドマスターテーブル値に存在しなければならない)、主に参照整合性を保証するために使用されます。

   5「CHECK:ブール式を指定してチェックし、列の値を指定するには、対応する式を満たす必要があります。(MySQLはMySQLの文がCHECK制約を使用することができたとしても、この制約をサポートしていませんが、制約が反映されません)

図3に示すように、データが格納されている辞書(テーブル・システム)に格納され、データベースオブジェクト制約されます。データ列に課される制限は、制約は、2つのカテゴリに分けられます。

   1「単一の制約:各制約は一つだけに結合されます。

   2「マルチカラム制約:制約は、データ列の複数のそれぞれを制約することができます。

4、2回制約を指定:

   1「テーブルの構成は、対応するデータ列に拘束指定されています。

   テーブルが作成された後2」制約を増やす方法のリストを修正するために、構築されました。

   ほとんどの制約は、列レベルの制約構文や文法、テーブルレベルの制約を採用することができます。

5、一般的な制約の5種類の詳細

   1「NOT NULL制約

      唯一の列レベルの制約構文定義を使用することができ、列レベルの制約としてのみ使用してください。

      SQLは、すべてのデータ型がnullの場合も、空の文字列がヌルに等しくない、大文字と小文字を区別しnullでない0はヌルに等しくない場合、ヌルヌルに等しくありません。

   2「UNIQUE制約

      列(一つ以上)、または列の組み合わせを繰り返すことができないかを指定する(それはヌルヌルを意味するものではないため、複数のヌル値は、起こり得ます)。

      列に一意の制約を作成する場合、MySQLはそれに応じてそのためのユニークなインデックスを作成表示されます。あなたが名前のユニーク制約を与えていない場合は、唯一の制約は、列名と同じデフォルト。

      唯一の制約は、いずれかを使用し、カラム・レベルの制約文法が確立されることができ、あなたは、確立されたテーブル・レベルの制約構文を使用することができます。あなたは建設、または制約名指定されたユニークな制限の必要性のために複数カラムのユニーク制約の組み合わせが必要な場合は、あなただけのテーブルレベルの制約構文を使用することができます。

      表レベルの制約構文:制約構文を配置することができますいずれか縛ら列定義でtable文を作成するには、制約を追加するために追加のキーワードを使用してALTER TABLE文を配置することができます。

[ 制約A制約名]制約の定義

      例:

作成 EMP 
  e_name VARCHAR255 ); 
  e_pass VARCHAR255 );
   - テーブル・レベルの制約はユニーク制約の文法作成使用して
  UNIQUE (e_nameを)、
   - ユニーク制約を確立し、テーブルレベルの制約構文、および制約名指定された
  制約 un_emp_pass UNIQUE ( e_pass)
);

 

おすすめ

転載: www.cnblogs.com/ZeroMZ/p/11367552.html
おすすめ