Heim > Datenbank > MySQL-Tutorial > Wie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?

Wie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?

WBOY
Freigeben: 2023-09-07 20:41:07
nach vorne
1083 Leute haben es durchsucht

Wie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?

Um alle Fremdschlüssel einer Tabelle oder Spalte anzuzeigen, ist der Befehl referenced_column_name

Erstellen Sie zunächst zwei Tabellen und verknüpfen Sie sie dann mithilfe von Fremdschlüsseleinschränkungen.

Erstellen Sie die erste Tabelle -

mysql> CREATE table ForeignTable
-> (
-> id int,
-> name varchar(200),
-> Fk_pk int
-> );
Query OK, 0 rows affected (0.43 sec)
Nach dem Login kopieren

Nachdem Sie die erste Tabelle erfolgreich erstellt haben, erstellen Sie die zweite Tabelle wie folgt -

mysql> CREATE table primaryTable1
-> (
-> Fk_pk int,
-> DeptName varchar(200),
-> Primary key(Fk_pk)
-> );
Query OK, 0 rows affected (0.48 sec)
Nach dem Login kopieren

Jetzt werden beide Tabellen mithilfe des Befehls alter und von Fremdschlüsseln verknüpft Es wurden auch Einschränkungen hinzugefügt. Seine Syntax lautet wie folgt:

alter table yourFirstTable add constraint anyConstraintName foreign key(column_name which is
acts foreign key in second table) yourSecondTable(column_name which acts primary key in
second table).
Nach dem Login kopieren

Die obige Syntax wird verwendet, um zwei Tabellen wie folgt zuzuordnen:

mysql> alter table ForeignTable add constraint constFKPK foreign key(Fk_pk) references
primaryTable1(Fk_pk);
Query OK, 0 rows affected (1.57 sec)
Records: 0 Duplicates: 0 Warnings: 0
Nach dem Login kopieren

Nun lautet die Syntax zum Anzeigen aller Fremdschlüssel einer Tabelle wie folgt:

Für eine Tabelle:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,
REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'yourReferencedTableName';
Nach dem Login kopieren

Jetzt Erstellen Sie eine Abfrage mit der obigen Syntax, um alle Fremdschlüssel anzuzeigen. Die Abfrage lautet wie folgt: -

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';
Nach dem Login kopieren

Das Folgende ist die Ausgabe -

+--------------+-------------+-----------------+-----------------------+------------------------+
| TABLE_NAME   | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+--------------+-------------+-----------------+-----------------------+------------------------+
| foreigntable | Fk_pk       | constFKPK       | primarytable1         | fk_pk                  |
+--------------+-------------+-----------------+-----------------------+------------------------+
1 row in set, 2 warnings (0.02 sec)
Nach dem Login kopieren

In der Beispielausgabe lautet der Einschränkungsname „constFKPK“ und der Tabellenname „foreigntable“. Für eine Spalte –

SELECT
TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_SCHEMA = 'yourDatabaseName' AND
REFERENCED_TABLE_NAME = 'yourreferencedtablename' AND
REFERENCED_COLUMN_NAME = 'yourreferencedcolumnname';
Nach dem Login kopieren

gibt eine Abfrage aus, die alle Fremdschlüssel der Spalte unter Verwendung der obigen Syntax anzeigt. Die Abfrage lautet wie folgt Wie folgt: Die von

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' AND REFERENCED_COLUMN_NAME
= 'fk_pk';
Nach dem Login kopieren

erhaltene Ausgabe lautet wie folgt:

+--------------+-------------+-----------------+-----------------------+------------------------+
| TABLE_NAME   | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME |REFERENCED_COLUMN_NAME  |
+--------------+-------------+-----------------+-----------------------+------------------------+
| foreigntable | Fk_pk       | constFKPK       | primarytable1         | fk_pk                  |
+--------------+-------------+-----------------+-----------------------+------------------------+
1 row in set, 2 warnings (0.03 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich alle Fremdschlüssel einer Tabellenspalte anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage