ホームページ >データベース >mysql チュートリアル >MySQL 学習外部キーの詳細なグラフィックとテキストの説明
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 サイトの他の関連記事を参照してください。