ホームページ >データベース >mysql チュートリアル >MySQL 学習外部キーの詳細なグラフィックとテキストの説明

MySQL 学習外部キーの詳細なグラフィックとテキストの説明

黄舟
黄舟オリジナル
2017-09-08 14:04:171858ブラウズ

1. たとえば、「カテゴリ テーブル」と「製品テーブル」という 2 つのテーブルがあり、製品がどのカテゴリに属する​​かを示すために、通常は製品テーブルに分類 CID 情報を格納する列を追加します。外部キーと呼ばれます。

このとき、分類テーブル category をメインテーブル、cid を主キー、製品テーブル products をスレーブテーブル、category_id を外部キーと呼びます。

外部キーの特徴: 1) 副テーブルの外部キーの値は主テーブルの主キーへの参照です

2) 副テーブルの外部キーの型は主テーブルと一致している必要がありますプライマリテーブルのキー。

外部キーを使用する目的: データの整合性を確保するため

2. まずコマンド プロンプトでデータベース web09 を作成し、カテゴリとプロダクトの 2 つのテーブルを作成します。ステートメントは次のとおりです。複数のデータをそれぞれ

eg.insert into category(cid,cname) values('c001','家电');
insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');

は次のように表示されます:

3. 外部キー制約を宣言します

構文: alter table add [制約] [外部キー名] 外部キー (外部キーフィールド名 from) table) はメイン テーブル (メイン テーブルの主キー) を参照します。

[外部キー名] は外部キー制約を削除するために使用されます。一般に、"_fk" で終わることをお勧めします

制約が宣言された後、カテゴリテーブルの cid=c003 のデータを削除したい場合は、削除できません

4. 制約を解除します

構文: alter table drop external key テーブルから外部キー名を削除します

続行カテゴリテーブルの cid=c003 のデータを削除するには、削除できます

注: スレーブテーブルの外部キーは、マスターテーブルに存在しないレコードを追加できません

マスターテーブルは、スレーブテーブルで参照されています。

5. 1 対多のテーブル作成原則:

6. 多対多のテーブル作成原則:

以上がMySQL 学習外部キーの詳細なグラフィックとテキストの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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