我如何获得查询在执行MySQL期间使用的列/表?



我有一个程序,允许用户对多个数据库运行自定义查询。该程序为MySQL使用.net连接器,它创建一个连接、命令和dataAdapter对象。

目标是获取查询所访问的所有表/列。我知道我可以解析查询来获得这些,但我认为一定有一个更简单的方法使用连接器。

我也会对使用某种查询的解决方案感兴趣?解释可不行

的例子:表1

col4test4

下列查询中使用的列是什么?

SELECT COUNT(*) FROM mytable WHERE userid = 123;
SELECT col1 + col2 AS myalias FROM mytable
SELECT CURDATE();
SELECT a, b, c FROM table1
UNION
SELECT x, y, z FROM table2;
SELECT EXISTS ( SELECT * FROM mytable WHERE user_id = 123);
WITH RECURSIVE cte ( ... ) SELECT * FROM cte;

你懂的。SQL是一种强大的语言,有很多情况会使映射源列变得困难。

最新更新