查找最后查询的表的名称

我的 PHP 程序中有一个查询,例如


SELECT table_a.firstname, table_a.lastname, table_b.english_score, table_b.maths_score 

FROM table_a

INNER JOIN table_b ON table_b.student_id = table_a.id 

WHERE table_a.id = 21

tables我想知道此查询中被叫者的姓名including joined tables。目的是找到进一步操作所需的受影响表的模式。


是否有直接查询来执行此操作,或者我必须使用一些正则表达式?


慕桂英4014372
浏览 93回答 1
1回答

函数式编程

您可以检索查询的执行计划,其中包括查询中涉及的所有表。例如:create table a (b int);create table c (d int);explainselect a.*from ajoin c on c.d = a.b结果:id  select_type  table  partitions  type  pos_keys key   key_len  ref   rows  filt Extra         --- ------------ ------ ----------- ----- -------- ----- -------- ----- ----- ---- ------------- 1   SIMPLE       a      null        ALL   null     null  null     null  1     100  null          1   SIMPLE       c      null        ALL   null     null  null     null  1     100  Using where.. 在这里您可以看到第三列包含查询涉及的表的名称。执行计划采用表格格式(默认)或 JSON 格式。后者比这个有更多的信息。
打开App,查看更多内容
随时随地看视频慕课网APP