ホームページ 毎日のプログラミング mysqlの知識 mysqlの主キーと外部キーの違いは何ですか

mysqlの主キーと外部キーの違いは何ですか

Apr 27, 2024 am 02:45 AM
mysql

主キーと外部キーの違い: 機能: 主キーはレコードを一意に識別し、外部キーは異なるテーブル内のレコードを関連付けます。一意性: 主キーは一意であり、重複は許可されません。外部キーは一意ではないため、繰り返すことができます。 NULL 値: NULL 値は主キーには許可されませんが、NULL 値は外部キーに許可されます。関係: 主キーはテーブル内の関係であり、外部キーはテーブル間の関係です。制約: 主キーには非 null および一意の制約があり、外部キーにはメイン テーブルの主キーを参照する制約があります。数量: 各テーブルは主キーを 1 つだけ持つことができ、テーブルには複数の外部キーを持つことができます。

mysqlの主キーと外部キーの違いは何ですか

#MySQL の主キーと外部キーの違い

#主キー

各テーブル内の各レコードを一意に識別する列のセット
  • 空にすることはできません (非 null 制約)
  • 繰り返しはできません (一意制約)
  • MySQL では、各テーブルに主キーを 1 つだけ持つことができます。
外部キー

主キーに対応する 1 つまたは複数の列別のテーブルのグループ列
  • 外部キー列はメイン テーブルに存在する主キーを参照する必要があります
  • 外部キー列は空でも構いません (NULL 値は許可されます)
  • MySQL では、テーブルに複数の外部キーを持つことができます
具体的な違い

特徴関数一意性Null 値リレーションシップ#制約 #null 以外の一意の #テーブルごとに 1 つだけ##例
主キー 外部キー キー
レコードを一意に識別します Associates異なるテーブルの関連レコード
#一意、重複は許可されない 一意ではない、重複は許可される
許可されません 許可
テーブル内のアソシエーション アソシエーションテーブル間
#メイン テーブルの主キーを参照 数量
1 つのテーブルには複数の

主キーの例: 主キーが「user_id」列である「Users」という名前のテーブル。各レコードには、ユーザーを識別するために使用できる一意の「user_id」があります。

  • 外部キーの例: 外部キーが「user_id」列である「Orders」という名前のテーブル。このキーは、「Users」テーブルの「user_id」主キーを参照し、各注文が特定のユーザーに関連付けられていることを示します。
  • 関数

主キー: テーブル内のレコードの一意性を確保し、データ取得速度を最適化します。

  • 外部キー: テーブル間の関係を確立し、データの整合性を維持し、孤立したレコードを防ぎます。

以上がmysqlの主キーと外部キーの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPのビッグデータ構造処理スキル PHPのビッグデータ構造処理スキル May 08, 2024 am 10:24 AM

PHPのビッグデータ構造処理スキル

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? データベースにおける Java 列挙型のアプリケーション シナリオは何ですか? May 05, 2024 am 09:06 AM

データベースにおける Java 列挙型のアプリケーション シナリオは何ですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP 配列ページングのパフォーマンス最適化戦略 PHP 配列ページングのパフォーマンス最適化戦略 May 02, 2024 am 09:27 AM

PHP 配列ページングのパフォーマンス最適化戦略

See all articles