mysql 外部キーは主に、マスター テーブルとスレーブ テーブル間の関係を確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。その役割はデータの一貫性を保つことです。主な目的は、外部キー テーブルに格納されているデータを制御することです。テーブルには 1 つ以上の外部キーを含めることができ、外部キーは null にすることもできます。null でない場合、各外部キーの値はメイン テーブルの主キーの特定の値と等しくなければなりません。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、主キー制約と一緒によく使用されます。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルが主テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。
MySQL 外部キーの役割:
データの一貫性と整合性の維持主な目的は、外部キー テーブルに格納されているデータを制御することです。 2 つのテーブルを関連付けるには、外部キーはテーブル内の列の値のみを参照できます。
外部キーは、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。たとえば、果物の屋台には、リンゴ、桃、プラム、スイカの 4 種類の果物しか置いていないとすると、果物を買いに果物屋に来たとき、選択できるのはリンゴ、モモ、プラム、スイカだけになります。は購入できません。
レコードがメイン テーブルから削除されると、それに応じてテーブルの対応するレコードも変更する必要があります。テーブルには 1 つ以上の外部キーを含めることができ、外部キーは null にすることもできます。null でない場合、各外部キーの値はメイン テーブルの主キーの特定の値と等しくなければなりません。
外部キーを定義するときは、次の規則に従う必要があります。
メイン テーブルはデータベースにすでに存在しているか、現在作成中のテーブルである必要があります。後者の場合、マスターテーブルとスレーブテーブルは同一のテーブルとなり、このようなテーブルを自己参照テーブルと呼び、この構造を自己参照整合性と呼びます。
メインテーブルには主キーを定義する必要があります。
主キーには null 値を含めることはできませんが、外部キーでは null 値が許可されます。つまり、外部キーのすべての非 null 値が指定された主キーに出現する限り、外部キーの内容は正しいことになります。
メインテーブルのテーブル名の後に列名または列名の組み合わせを指定します。この列または列の組み合わせは、メイン テーブルの主キーまたは候補キーである必要があります。
外部キーの列数は、メイン テーブルの主キーの列数と同じである必要があります。
外部キーの列のデータ型は、メイン テーブルの主キーの対応する列のデータ型と同じである必要があります。
#テーブル変更時に外部キー制約を追加する
外部キー制約を追加するための前提条件は次のとおりです。テーブルのキー 列のデータは、メイン テーブルの主キー列のデータと一致している必要があります。そうでない場合は、データがありません。 データ テーブルを変更するときに外部キー制約を追加するための構文形式は次のとおりです。ALTER TABLE <数据表名> ADD CONSTRAINT <外键名> FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
例: データ テーブル tb_emp2 を変更し、フィールド deptId を外部キーを取得し、テーブル tb_dept1 の主キー ID とデータの関連付けを照合します
ALTER TABLE tb_emp2 ADD CONSTRAINT fk_tb_dept1 FOREIGN KEY(deptId)REFERENCES tb_dept1(id);
外部キー制約を削除します #テーブルに外部キー制約がない場合 外部キー制約が必要な場合は、テーブルから削除する必要があります。外部キーを削除すると、マスターテーブルとスレーブテーブルの関連付けが解除されます。
外部キー制約を削除するための構文形式は次のとおりです。
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;例:
データ テーブル tb_emp2ALTER TABLE tb_emp2 DROP FOREIGN KEY fk_tb_dept1;
## の外部キー制約 fk_tb_dept1 を削除します。
[関連する推奨事項: mysql ビデオ チュートリアル
以上がmysqlの外部キーは何に使われますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MySQLデータベースを構築する手順には次のものがあります。1。データベースとテーブルの作成、2。データの挿入、および3。クエリを実行します。まず、createdAtabaseおよびcreateTableステートメントを使用してデータベースとテーブルを作成し、InsertINTOステートメントを使用してデータを挿入し、最後にSelectステートメントを使用してデータを照会します。

MySQLは、使いやすく強力であるため、初心者に適しています。 1.MYSQLはリレーショナルデータベースであり、CRUD操作にSQLを使用します。 2。インストールは簡単で、ルートユーザーのパスワードを構成する必要があります。 3.挿入、更新、削除、および選択してデータ操作を実行します。 4. Orderby、Where and Joinは複雑なクエリに使用できます。 5.デバッグでは、構文をチェックし、説明を使用してクエリを分析する必要があります。 6.最適化の提案には、インデックスの使用、適切なデータ型の選択、優れたプログラミング習慣が含まれます。

MySQLは初心者に適しています。1)インストールと構成、2)リッチラーニングリソース、3)直感的なSQL構文、4)強力なツールサポート。それにもかかわらず、初心者はデータベースの設計、クエリの最適化、セキュリティ管理、データのバックアップなどの課題を克服する必要があります。

はい、sqlisaprogramginglanguagespecializedfordatamanamanagement.1)それはdeclarative、focusingonwhattoachieveratherthanhow.2)

酸性属性には、原子性、一貫性、分離、耐久性が含まれ、データベース設計の基礎です。 1.原子性は、トランザクションが完全に成功するか、完全に失敗することを保証します。 2.一貫性により、データベースがトランザクションの前後に一貫性を保証します。 3.分離により、トランザクションが互いに干渉しないようにします。 4.永続性により、トランザクションの提出後にデータが永久に保存されることが保証されます。

MySQLは、データベース管理システム(DBMS)であるだけでなく、プログラミング言語にも密接に関連しています。 1)DBMSとして、MySQLはデータを保存、整理、取得するために使用され、インデックスを最適化するとクエリのパフォーマンスが向上する可能性があります。 2)SQLとPythonに埋め込まれたプログラミング言語とSQLalchemyなどのORMツールを使用すると、操作を簡素化できます。 3)パフォーマンスの最適化には、インデックス、クエリ、キャッシュ、ライブラリ、テーブル分割、およびトランザクション管理が含まれます。

MySQLはSQLコマンドを使用してデータを管理します。 1.基本コマンドには、select、挿入、更新、削除が含まれます。 2。高度な使用には、参加、サブクエリ、および集計関数が含まれます。 3.一般的なエラーには、構文、ロジック、パフォーマンスの問題が含まれます。 4。最適化のヒントには、インデックスの使用、Select*の回避、制限の使用が含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
