ホームページ >データベース >mysql チュートリアル >mysql の一般的な制約は何ですか?

mysql の一般的な制約は何ですか?

青灯夜游
青灯夜游オリジナル
2019-05-05 17:36:2527783ブラウズ

Mysql の共通制約には、1. 非 null 制約 "not null"、2. 一意制約 "unique"、3. 主キー制約 "primary key"、4. 外部キー制約 "foreign key"、5. 外部キー制約 "foreign key"、および5 、デフォルト値制約「Default」など。

mysql の一般的な制約は何ですか?

推奨事項: "mysql チュートリアル"

制約は一種の制限であり、 table 行または列のデータを制限して、テーブル データの整合性と一意性を確保します。次の記事では、MySQL の一般的な 6 つの制約を紹介します。

1. 非 null 制約 (not null)

非 null 制約は、現在の列の値が null でないことを保証するために使用されます。非 null 制約は、テーブル オブジェクトの列にのみ表示されます。

Null 型の特性: int、float、その他のデータ型を含む、すべての型の値が null になる可能性があります

2. 固有制約 (unique)

一意性制約とは、データの一意性を確保するために、指定されたテーブルの列または列の組み合わせを繰り返すことができないというものです。

一意制約では値の重複は許可されませんが、複数の null を指定することはできます。

同じテーブルに複数の一意制約と、複数の列の組み合わせに対する制約を設定できます。

一意制約を作成する場合、一意制約名を指定しないと、デフォルトで列名と同じ名前が付けられます。

一意制約は 1 つのテーブル内で作成できるだけでなく、組み合わせた一意制約を複数のテーブルで同時に作成することもできます。

3. 主キー制約 (primary key) PK

主キー制約は、一意性制約と非 null 制約を組み合わせたものと同等です。列を繰り返したり表示したりすることはできません。NULL 値です。

各テーブルでは、主キーを最大 1 つだけ使用できます。主キー制約は、列レベルまたはテーブル レベルで作成できます。

主キー制約を作成すると、システムはデフォルトで列と列の組み合わせに対応する一意のインデックスを作成します。

4. 外部キー制約 (外部キー) FK

外部キー制約は、2 つのテーブル (マスター テーブルとスレーブ テーブル) の列を強化するために使用されます。または、1 つまたは 2 つのテーブル間の参照整合性を保証できる複数のデータ列間の接続。外部キーは、1 つのテーブルの 2 つのフィールドまたは 2 つのテーブルの 2 つのフィールド間の参照関係に基づいて構築されます。

外部キー制約を作成する順序は、最初にマスター テーブルの主キーを定義し、次にスレーブ テーブルの外部キーを定義することです。つまり、セカンダリ テーブルで外部キーとして使用できるのは、プライマリ テーブルの主キーのみです。制約付きセカンダリ テーブルの列は、プライマリ キーにならない場合があります。プライマリ テーブルは、テーブルの更新および挿入操作を制限します。セカンダリテーブル。

5. デフォルト値制約 (デフォルト)

デフォルト値制約がテーブルに定義されている場合、ユーザーが新しいデータ行を挿入するとき、行にデータが指定されていない場合、システムは列にデフォルト値を割り当てます。デフォルト値を設定しない場合、システムはデフォルトで NULL を設定します。

6. 自動インクリメント制約 (AUTO_INCREMENT)

自動インクリメント制約 (AUTO_INCREMENT) は、必ずしも PRIMARY KEY フィールドである必要はない、あらゆるフィールドを制約できます。言い換えると、自動インクリメントされるフィールドは主キー フィールドと等しくありません。

ただし、PRIMARY_KEY 制約の主キー フィールドは自動インクリメント フィールドである必要があります。つまり、PRIMARY_KEY と AUTO_INCREMENT は同じフィールドで機能する必要があります。

最初のレコードを挿入するとき、自動インクリメント フィールドには特定の値が与えられず、DEFAULT/NULL として書き込むことができます。その後フィールドが挿入されるとき、自動インクリメント フィールドは 1 から始まります。レコードが挿入されない場合、この自動インクリメント フィールドの値は 1 ずつ増加します。最初のレコードが挿入されるときに、自動インクリメント フィールドに特定の値が与えられ、それ以降に挿入されるレコードの自動インクリメント フィールドの値は、そのレコードの自動インクリメント フィールドの値に基づいて毎回 1 ずつ増加します。最初の記録。

レコードの挿入時に自動インクリメント フィールドを指定せずに、残りのフィールドを指定してレコードを挿入することもできます。

以上がmysql の一般的な制約は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。