在 MySQL 中显示外键
在本教程中,我们旨在探索如何在 MySQL 中显示表和列的外键。
引用主键的键类型,也称为另一个表的主键,称为外键。在使用 MySQL 时,了解表的外键很重要。
此外,特定表的列也可以具有与之关联的外键。让我们尝试了解如何获取这些外键。
在 MySQL 中创建表
在开始之前,我们将创建一个虚拟数据集来使用。在这里,我们将创建一个表 student_details
以及几行。
-- create the table student_details
CREATETABLEstudent_details(stu_idint,stu_firstNamevarchar(255)DEFAULTNULL,stu_lastNamevarchar(255)DEFAULTNULL,primarykey(stu_id));-- insert rows to the table student_details
INSERTINTOstudent_details(stu_id,stu_firstName,stu_lastName)VALUES(1,"Preet","Sanghavi"),(2,"Rich","John"),(3,"Veron","Brow"),(4,"Geo","Jos"),(5,"Hash","Shah"),(6,"Sachin","Parker"),(7,"David","Miller");
上面的查询创建了一个表,其中包含学生的名字和姓氏。要查看数据中的条目,我们使用以下代码:
SELECT*FROMstudent_details;
上面的代码将给出以下输出:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
在 MySQL 中显示表的外键
要在 MySQL 中获取表的外键,我们使用以下代码块:
SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA='<database>'ANDREFERENCED_TABLE_NAME='<table>';
我们可以看到,在上面提到的查询中,我们需要输入数据库和表名来获取外键。可以使用以下查询来完成此任务:
SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA='<boatdb>'ANDREFERENCED_TABLE_NAME='<student_details>';
如前所述,上述查询的数据库名称为 boatdb
,表名称为 student_details
。上述代码的输出如下:
1,TABLE_NAME,,KEY_COLUMN_USAGE,VARCHAR,utf8mb4,64,-31,31
2,COLUMN_NAME,,KEY_COLUMN_USAGE,VARCHAR,utf8mb4,64,-31,31
3,CONSTRAINT_NAME,information_schema,KEY_COLUMN_USAGE,VARCHAR,utf8mb4,64,0,0
4,REFERENCED_TABLE_NAME,information_schema,KEY_COLUMN_USAGE,VARCHAR,utf8mb4,64,0,0
5,REFERENCED_COLUMN_NAME,information_schema,KEY_COLUMN_USAGE,VARCHAR,utf8mb4,64,0,0
此外,我们还可以找到与特定列关联的外键。这可以借助以下查询来实现:
SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA='boatdb'ANDREFERENCED_TABLE_NAME='student_details'ANDREFERENCED_COLUMN_NAME='student_firstName';
正如我们所见,添加了一个额外的 REFERENCED_COLUMN_NAME
。
因此,借助这种技术,我们可以有效地显示与特定表和列关联的外键。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。