MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

テーブル列へのすべての外部キーを表示するにはどうすればよいですか?


テーブルまたは列へのすべての外部キーを表示するには、referenced_column_nameコマンドを使用します。

最初に、2つのテーブルが作成され、外部キー制約を使用して関連付けられます。

最初のテーブルの作成-

 mysql> CREATE table ForeignTable->(-> id int、-> name varchar(200)、-> Fk_pk int->);クエリOK、影響を受ける行は0(0.43秒)

最初のテーブルが正常に作成された後、2番目のテーブルは次のように作成されます-

 mysql> CREATE table primaryTable1->(-> Fk_pk int、-> DeptName varchar(200)、-> Primary key(Fk_pk)->);クエリOK、影響を受ける行は0(0.48秒)

これで、両方のテーブルがalterコマンドを使用して関連付けられ、外部キー制約も追加されます。この構文は次のとおりです-

テーブルの変更yourFirstTable制約の追加anyConstraintName外部キー(2番目のテーブルの外部キーとして機能するcolumn_name)yourSecondTable(2番目のテーブルの主キーとして機能するcolumn_name)

上記の構文は、次のように両方のテーブルを関連付けるために適用されます-

mysql>テーブルの変更ForeignTable追加制約constFKPK外部キー(Fk_pk)referencesprimaryTable1(Fk_pk);クエリOK、影響を受ける行0(1.57秒)レコード:0重複:0警告:0 

ここで、テーブルへのすべての外部キーを表示するための構文は次のようになります-

テーブルの場合-

 SELECT TABLE_NAME、COLUMN_NAME、CONSTRAINT_NAME、REFERENCED_TABLE_NAME、REFERENCED_COLUMN_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE REFERENCED_TABLE_NAME ='yourReferencedTableName'; 

ここで、上記の構文を使用して、すべての外部キーを表示するクエリを作成します。クエリは次のように与えられます-

 mysql> SELECT TABLE_NAME、COLUMN_NAME、CONSTRAINT_NAME、REFERENCED_TABLE_NAME、REFERENCED_COLUMN_NAME-> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE-> WHERE REFERENCED_TABLE_NAME ='primarytable1'; 

以下は出力です-

 + -------------- + ------------- + ----------------- + ----------------------- + ------------------------ + | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME | + -------------- + ------------- + ----------------- + ----------------------- + ------------------------ + |フォーリンテーブル| Fk_pk | constFKPK | primarytable1 | fk_pk | + -------------- + ------------- + ----------------- + ----------------------- + ------------------------ + 1セット内の行、2つの警告(0.02秒)

サンプル出力では、constraint_nameは「constFKPK」であり、table_nameは「foreigntable」です。列の場合-

 SELECTTABLE_NAME、COLUMN_NAME、CONSTRAINT_NAME、REFERENCED_TABLE_NAME、REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA ='yourDatabaseName' ANDREFERENCED_TABLE_NAME ='yourreferencedtablename' ='yourreferencedtablename' ANDREFERENCED 

列へのすべての外部キーを表示するためのクエリは、上記の構文を使用して与えられます。クエリは次のとおりです-

 mysql> SELECT-> TABLE_NAME、COLUMN_NAME、CONSTRAINT_NAME、REFERENCED_TABLE_NAME、REFERENCED_COLUMN_NAME-> FROM-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE-> WHERE-> REFERENCED_TABLE_SCHEMA ='business' AND-> REFERENCED_TABLE_NAME ='primarytable1 

得られた出力は次のとおりです。

 + -------------- + ------------- + ----------------- + ----------------------- + ------------------------ + | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME | + -------------- + ------------- + ---------------- -+ ----------------------- + ------------------------ + |フォーリンテーブル| Fk_pk | constFKPK | primarytable1 | fk_pk | + -------------- + ------------- + ----------------- + ----------------------- + ------------------------ + 1セット内の行、2つの警告(0.03秒)

  1. PythonでMySQLテーブルに列を追加するにはどうすればよいですか?

    既存のテーブルに新しい列を追加する必要がある場合があります。 Name、Age、Rollnoなどの列を持つ「Students」テーブルがあるとします。既存のテーブルに新しい列「アドレス」を追加します。 これは、ALTERコマンドを使用して実行できます。 ALTERコマンドは、データベースの列を変更、削除、または更新するために使用されます。これは、ADD句を使用してテーブルに新しい列を追加するためにも使用できます。 構文 ALTER TABLE table_name ADD new_column_name column_definition [FIRST | AFTER exisiting_c

  2. Instagramであなたのコメントをすべて見る方法

    他のInstagramアカウントにコメントを残している場合は、しばらくすると、どこにマークを残したのか疑問に思うかもしれません。幸いなことに、次の方法で、Instagramに残したすべてのコメントを確認できます。 1。 Instagramデータをダウンロードする Instagramは、コメント履歴を表示するためのネイティブな方法を提供していません。ただし、いくつかの回避策と手順を使用すると、それらを簡単に表示できます。最初の方法は、Instagramデータをダウンロードすることです。 プロフィールのInstagramデータには、コメントだけでなく、過去のメッセージ、設定、気に入った投稿、プ